eolymp
bolt
Try our new interface for solving problems
Məsələlər

ClosedCup

ClosedCup

Пингвину Багу Рокгаду снова чудится заговор. На этот раз ему подозрительна активность пингвинов-коммандос в соревновании по спортивному программированию ClosedCup. В данном мероприятии принимает участие огромное количество команд, потому они все, по мнению Бага, также могут быть потенциальными заговорщиками. Первое, что необходимо нашему пингвину - это упорядочить разрозненные данные об участниках ClosedCup. У Бага есть список команд, когда-либо принимавших участие в соревнованиях. Каждая команда задается названием и списком участников. В списке одна и та же команда может быть перечислена несколько раз, или одному и тому же названию могут соответствовать разные участники. Помогите Багу Рокгаду составить для каждого названия команды список её участников за всё время. Для этого выведите список названий команд в лексикографическом порядке \{Строка \textbf{x} лексикографически меньше строки \textbf{y}, если либо \textbf{x} является префиксом \textbf{y} (и при этом \textbf{x} ≤ \textbf{y}), либо существует такое \textbf{i} (\textbf{1} ≤ \textbf{i} ≤ \textbf{min(|x|, |y|)}), что \textbf{x_i} < \textbf{y_i}, и для любого \textbf{j} (\textbf{1} ≤ \textbf{j} < \textbf{i}) \textbf{x_j} = \textbf{y_j}. Здесь \textbf{|a|} обозначает длину строки \textbf{a}. Лексикографическое сравнение строк реализует оператор \textbf{<} в современных языках программирования\}, а для каждого названия перечислите участников, которые выступали за данную команду хотя бы один раз. Участников необходимо выводить в порядке убывания количества участий. При равенстве количества участий выводите данные в лексикографическом порядке. \InputFile В первой строке входного файла содержится одно число \textbf{N} (\textbf{1} ≤ \textbf{N} ≤ \textbf{100000}) - количество записей о командах. В последующих \textbf{N} строках перечислены данные о командах. Каждая запись состоит из названия команды и списка участников. Название команды состоит из символов с кодами от \textbf{32} до \textbf{126}, кроме \textbf{58} (\verb=':'=). Название не пусто и его длина не превышает \textbf{20} символов. Далее следует двоеточие, пробел и список участников. Каждый участник задается либо именем и фамилией (два непустых слова), либо никнеймом (одно непустое слово). Каждое слово в информации об участнике состоит только из строчных или прописных латинских букв. Имя и фамилия разделяются одним пробелом. Список участников состоит из одного, двух или трёх наименований. Все наименования участников различны. После каждого из участников, кроме последнего, следут запятая и пробел. После последнего наименования следует точка и символ перевода строки. Длина информации об одном участнике не превышает \textbf{20} символов (включая пробел между именем и фамилией). Размер входного файла не превышает одного мегабайта. Входной файл всегда оканчивается пустой строкой. \OutputFile В выходной файл выведите \textbf{M} описаний команд, разделённых пустой строкой. Каждое описание должно состоять из названия команды, двоеточия и списка участников, которые хотя бы один раз участвовали в команде с данным названием. Информацию о каждом участнике выводите на новой строке. Сначала выведите четыре пробела, потом имя и фамилию, разделенные пробелом или никнейм участника, потом запятую, пробел и количество раз, этот участник выступал на соревнованиях за эту команду. В конце выведите точку и сразу же символ перевода строки. Участников выводите в порядке уменьшения количества участий, при равенстве, выводите их в лексикографическом порядке. Описания команд выводите в лексикографическом порядке относительно названий команд. В выходном файле не должно быть лишних пустых строк.
Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 64 MiB
Giriş verilənləri #1
9
MegaMind: RicO.
Commandos: Skipper, Kowalski, Private.
Commandos: RicO, Kowalski, Private.
Commandos: Skipper, RicO, Private.
Commandos: Skipper, Kowalski, RicO.
Commandos: Skipper, Kowalski, unknown object.
MegaMind: RicO.
Lemuria_the_best: King Julien, Maurice, Mort.
MegaMind: King Julien.
Çıxış verilənləri #1
Commandos:
    Kowalski, 4.
    Skipper, 4.
    Private, 3.
    RicO, 3.
    unknown object, 1.

Lemuria_the_best:
    King Julien, 1.
    Maurice, 1.
    Mort, 1.

MegaMind:
    RicO, 2.
    King Julien, 1.
Mənbə Яндекс, отбор ЗКШ 2011-2012, 1 тур