Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Алгоритмы
Курсы ККДП
Дистрибутивы
Ссылки

HotLog


 

Балда

(Время: 2 сек. Память: 16 Мб Сложность: 57%)

А вы играли в «балду»? Это такая игра, когда из букв одного слова нужно составить как можно больше других слов. И чем длиннее такие слова, тем больше очков игрок заработает. Отсюда понятно, что самые выгодные слова – это те, которые получены перестановкой букв исходного слова.

Хитрый Дима решил написать программу, которая распечатает ему заготовки для игры в "балду". Дима их выучит, и будет побеждать всех своих друзей. Дима решил распечатать группы слов, которые получаются перестановкой букв.

Таких групп может оказаться слишком много, поэтому Дима решил распечатать первые пять с самым большим количеством слов. Ну, а если в словаре окажется менее пяти групп, Дима распечатает их все. А, может быть, и Вы себе такую программу создадите? Глядишь, и пригодится!

Входные данные

Входной файл INPUT.TXT содержит число N – количество слов в словаре (2 ≤ N ≤ 25000). Далее идет N слов, по одному в строке. Каждое слово содержит не более 40 символов. Коды ASCII символов в словах превышают 32.

Выходные данные

В выходной файл OUTPUT.TXT выведите первые пять групп, отсортированных по количеству слов. Если групп меньше пяти, выведите все группы. Для каждой группы отсортируйте все слова в лексикографическом порядке. Повторяющиеся слова следует выводить однократно. Если есть несколько групп одного размера, отсортируйте их в лексикографическом порядке первого слова в группе (первое слово в группе – в лексикографическом порядке, а не в порядке добавления). Выводить группы слов следует согласно формату, описанному в примерах.

Примеры

INPUT.TXTOUTPUT.TXT
116
undisplayed
trace
tea
singleton
eta
eat
displayed
crate
cater
carte
caret
beta
beat
bate
ate
abet
Group of size 5: caret carte cater crate trace .
Group of size 4: abet bate beat beta .
Group of size 4: ate eat eta tea .
Group of size 1: displayed .
Group of size 1: singleton .
28
abc
c++
cba
abc
pascal
java
scalpa
basic
Group of size 3: abc cba .
Group of size 2: pascal scalpa .
Group of size 1: basic .
Group of size 1: c++ .
Group of size 1: java .

Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

 Язык программирования C++
 Решение олимпиадных задач
 Региональные олимпиады
 Книги Фёдора Меньшикова
 Тренировочные олимпиады
 Школьный этап
 Муниципальный этап
 Региональный этап
 Полуфинал ВКОШП
 Личное первенство СФУ
 2011 / 2012
 2012 / 2013
 2013 / 2014
 2014 / 2015
 2015 / 2016
 2016 / 2017
 2017 / 2018
 2018 / 2019
 A. Телефон
 B. Балда
 C. Шахматное поле
 D. Пересечение множеств
 E. Алтайский технический университет
 F. Макрос
 G. Единицы
 H. Простые числа - 2
 I. Спираль
 J. Клад

Красноярский краевой Дворец пионеров, (c)2006 - 2020, E-mail: admin@acmp.ru



https://pk-kaskad.ru Купить изолирующие фланцевые соединения.