Contest.samsu.ru :: соревнования по программированию
Русская версия || English version
Login:
Password:
Забыли пароль?
 пример поиска: Вася Пупкин
 

Задача А. Логика выбора

Задачу добавил: alef

Успешно сдано решений: 28

Три абитуриента — Николай, Олег и Павел — уже давно спорили, какую специальность лучше выбрать. Всем им нравилось программировать, но вот рассуждали они по-разному.

— Почти все необходимое я уже знаю! — уверенно говорил Олег. Он уже работал web-мастером, и на его "боевом счету" было несколько сайтов. — Я — практик! А что у специальности "М" в учебном плане? Одна математика! Зачем она мне? Вот то ли дело специальность "А" — тут и HTML, и JavaScript, и PHP...

— Разве ты не знаешь эти языки? — спросил его Павел.

— Конечно знаю! И мне не надо будет терять время, просиживая на лекциях. В это время я буду работать, осваивать все нужное на практике. А в сессию просто приду и сдам экзамены.

— Ну, одни сайты — это неинтересно, — вмешался в разговор Николай. — Вот специальность "П" мне нравится куда больше — здесь, например, линейное программирование изучают. Я вот не знаю, что это такое. А если хочу потом работать в ИТ-отрасли, наверное, надо и это знать.

— Учить надо то, что точно пригодится. Что-то я не видел объявлений "приглашаем на работу специалиста по линейному программированию". А вот, скажем, специалисты по 1С нужны, — снисходительно заметил Олег.

— А я, пожалуй, подам документы на специальность "М", — сказал Павел. — Выучить язык программирования несложно — после школьного Паскаля я уже немного разобрался в Питоне и начал изучать С++. Берешь толковую книгу с примерами, садишься за компьютер... А вот с математикой так не получается. Так что пусть меня научат тому, чему сложнее всего научиться самостоятельно.

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

По заданным описаниям специальностей и представлениям абитуриентов о том, чему они хотели бы научиться, определите, на какую специальность подаст документы каждый из них.


Формат входного файла input.txt

Первая строка содержит целое число O — количество предметов, которые, как ему кажется, знает Олег

Каждая из следующих O строк содержит по одному названию предмета в строке. Считайте, что название может содержать латинские буквы, цифры и символы подчеркивания (вместо пробелов) и всегда начинается с буквы.

Следующая за ними строка содержит целое число N — количество предметов, которые Николай относит к интересующей его категории "Информационные технологии"

Идущие за ней N строк содержат по одному названию предмета в строке.

Следующая строка содержит целое число P — количество предметов, которые Павел относит к тем, которые он не может изучить самостоятельно.

Идущие за ней P строк содержат по одному названию предмета в строке.

Следующая строка содержит целое число S — количество специальностей.

За ней следуют S описаний специальностей, каждое из которых составлено по образцу:

первая строка описания содержит целое число Uj (j = 1, 2, ..., S) — количество предметов в описании, а затем следует Uj строк, в каждой из которых записано по одному названию предмета (в рамках одной специальности названия предметов уникальны).

Ограничения:

2 <= S, Uj <= 500; при этом суммарное количество разных предметов на разных специальностях не превосходит 1000

2 <= O, N, P <= 300

Все строки не длиннее 256 символов, размер входного файла не превосходит 4 Мб


Формат выходного файла output.txt

Первая строка — три целых числа через пробел — номера специальностей, которые выберут Олег, Николай и Павел (именно в таком порядке).

Если кому-то из абитуриентов одинаково подходят несколько специальностей, выведите ту, у которой номер меньше.

Пример входного файла

6

PHP

JavaScript

HTML

CSS

Operacionnye_Sistemy

Programmirovanie_v_Delphi

8

Informatika

Operacionnye_Sistemy

Lineynoe_programmirovanie

Programmirovanie_v_Delphi

Diskretnaya_matematika

Dinamicheskoe_Programmirovanie

Bazy_dannyh_i_expertnye_sistemy

Kriptoprotokoly

7

Matematicheskiy_Analiz

Differencialnaya_Geometriya

Tenzorny_Analiz

Teoriya_Funkciy_Kompleksnyh_Peremennyh

Funkcionalny_Analiz

Topologiya

Optimalnoe_upravlenie

5

32

Matematicheskiy_Analiz

Analiticheskaya_Geometriya

Differencialnye_Uravneniya

Matematicheskaya_Logika

Diskretnaya_matematika

Teoriya_Veroyatnostey

Informatika

Yazyki_Programmirovaniya

Operacionnye_Sistemy

Bazy_dannyh_i_expertnye_sistemy

Skriptovye_Yazyki

Administrirovanie_informacionnyh_sistem

Kompyuternaya_grafika

Teoriya_kompilyacii

Cplusplus

Java_technologii

PHP

JavaScript

HTML

CSS

Programmirovanie_v_Delphi

Fizika

Fizkultura

Istoriya

Filosofiya

Ekonomika

Sociologiya

Chislennye_Metody

Struktury_i_algoritmy_komputernoy_obrabotki_dannyh

Pravo_v_oblasti_IT

Apparatnye_sredstva

Tehnologiya_razrabotki_PO

21

Matematicheskiy_Analiz

Analiticheskaya_Geometriya

Differencialnaya_Geometriya

Vektorny_Analiz

Tenzorny_Analiz

Funkcionalny_Analiz

Differencialnye_Uravneniya

Uravneniya_Matematicheskoy_Fiziki

Diskretnaya_matematika

Teoriya_Veroyatnostey

Teoriya_Sluchaynyh_Processov

Informatika

Yazyki_Programmirovaniya

Operacionnye_Sistemy

Bazy_dannyh_i_expertnye_sistemy

Fizika

Fizkultura

Istoriya

Filosofiya

Ekonomika

Chislennye_Metody

28

Matematicheskiy_Analiz

Algebra

Analiticheskaya_Geometriya

Vektorny_Analiz

Funkcionalny_Analiz

Differencialnye_Uravneniya

Uravneniya_Matematicheskoy_Fiziki

Matematicheskaya_Logika

Diskretnaya_matematika

Teoriya_Veroyatnostey

Teoriya_Sluchaynyh_Processov

Optimalnoe_upravlenie

Teoriya_Funkciy_Kompleksnyh_Peremennyh

Informatika

Yazyki_Programmirovaniya

Operacionnye_Sistemy

Bazy_dannyh_i_expertnye_sistemy

Kompyuternaya_grafika

Java_technologii

Lineynoe_programmirovanie

Dinamicheskoe_Programmirovanie

Fizika

Fizkultura

Istoriya

Filosofiya

Ekonomika

Politologya

Chislennye_Metody

31

Matematicheskiy_Analiz

Algebra

Geometriya

Analiticheskaya_Geometriya

Differencialnaya_Geometriya

Topologiya

Funkcionalny_Analiz

Differencialnye_Uravneniya

Uravneniya_Matematicheskoy_Fiziki

Matematicheskaya_Logika

Diskretnaya_matematika

Kombinatorika

Teoriya_Veroyatnostey

Teoriya_Sluchaynyh_Processov

Optimalnoe_upravlenie

Teoriya_Funkciy_Kompleksnyh_Peremennyh

Informatika

Yazyki_Programmirovaniya

Operacionnye_Sistemy

Bazy_dannyh_i_expertnye_sistemy

Lineynoe_programmirovanie

Dinamicheskoe_Programmirovanie

Fizika

Fizkultura

Istoriya

Filosofiya

Ekonomika

Politologya

Psihologiya

Pedagogika

Chislennye_Metody

31

Matematicheskiy_Analiz

Algebra

Geometriya

Funkcionalny_Analiz

Differencialnye_Uravneniya

Uravneniya_Matematicheskoy_Fiziki

Matematicheskaya_Logika

Diskretnaya_matematika

Kombinatorika

Optimalnoe_upravlenie

Informatika

Yazyki_Programmirovaniya

Operacionnye_Sistemy

Bazy_dannyh_i_expertnye_sistemy

Skriptovye_Yazyki

Kompyuternaya_grafika

Cplusplus

Java_technologii

PHP

JavaScript

Kriptoprotokoly

Fizika

Fizkultura

Istoriya

Filosofiya

Ekonomika

Russkiy_Yazyk

Kraevedenie

Pravo_v_oblasti_IT

Apparatnye_sredstva

Komputernye_seti_i_protokoly


Пример выходного файла

1 3 4


Сдать задачу

Задать вопрос жюри по этой задаче