Education 1.1 Help

Задачи

Задача 1

Максим едет на автобусе и, чтобы развеять скуку, придумал себе игру. Он смотрит в окно и записывает все номера домов на тетрадный листок. На середине пути он берёт новый листок и продолжает записывать номера. В конце пути он хочет узнать, какие номера встретились ему в обоих списках, и выписывает их на третий листок. Если таких номеров нет, то Максим считает поездку не очень удачной и записывает слово EMPTY.

Формат ввода

Сначала вводятся числа с первого листка: по одному на каждой строке. После этого идет пустая строка в качестве разделителя. Затем вводятся числа со второго листочка, также по одному на каждой строке. Завершение ввода — пустая строка.

Формат вывода

Номера, встретившиеся на обоих листках в любом порядке. Если таких номеров нет, надо вывести слово EMPTY.

Пример 1

Ввод

10 23 31 5 10 49 31

Вывод

10 31

Пример 2

Ввод

1 2 3 10 20 30 40

Вывод

EMPTY

Задача 2

Аня и Наташа играют в города. Они очень любят эту игру, знают много городов и к концу игры забывают, какие уже называли. На вас возложена почётная задача вести запись игры и напоминать девочкам, если какой-то город уже был назван.

Формат ввода

В первой строке записано число названных городов N. Затем идут N строк с названиями городов и ещё одна строка с новым только что названым городом.

Формат вывода

Слово OK, если такого города ещё не было названо, и TRY ANOTHER, если город уже был назван.

Пример 1

Ввод

3 Москва Нью-Йорк Лондон Париж

Вывод

OK

Пример 2

Ввод

8 Лондон Париж Москва Вашингтон Берлин Вена Мадрид Рим Мадрид

Вывод

TRY ANOTHER

Задача 3

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

Формат ввода

В первых двух строках указывается количество учеников, изучающих английский и немецкий языки (M и N). Затем идут M строк — фамилии учеников, которые изучают английский язык; и N строк с фамилиями учеников, изучающих немецкий. Гарантируется, что среди учеников нет однофамильцев.

Формат вывода

Количество учеников, которые изучают только один язык. Если таких не окажется, в строке вывода нужно написать NO.

Пример 1

Ввод

3 2 Иванов Петров Васечкин Иванов Михайлов

Вывод

3

Пример 2

Ввод

3 3 Иванов Петров Васечкин Иванов Петров Васечкин

Вывод

NO

Задача 4

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

Формат ввода

В первых двух строках указывается количество учеников, изучающих английский и немецкий языки (M и N). Затем идут M+N строк с фамилиями учеников в произвольном порядке. Гарантируется, что среди учеников нет однофамильцев.

Формат вывода

Количество учеников, которые изучают только один язык. Если таких не окажется, в строке вывода нужно написать NO.

Пример 1

Ввод

3 2 Иванов Петров Васечкин Иванов Михайлов

Вывод

3

Пример 2

Ввод

3 3 Иванов Петров Васечкин Иванов Петров Васечкин

Вывод

NO

Задача 5

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

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

Формат ввода

В первых трех строках указывается количество учеников, изучающих английский, немецкий и французский языки (M, N и K). Затем идут M+N+K строк с фамилиями учеников, расположенные в произвольном порядке. Это означает, что перемешались не только сами фамилии, но и группы по изучению языков. Гарантируется, что среди учеников нет однофамильцев.

Формат вывода

Количество учеников, которые изучают ровно два языка. Если таких не окажется, в строке вывода нужно написать NO.

Пример 1

Ввод

2 2 2 Иванов Петров Сидоров Иванов Петров Иванов

Вывод

1

Пример 2

Ввод

2 2 2 Зайцев Петров Петров Зайцев Иванов Иванов

Вывод

3

Задача 6

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

Формат ввода

В первой строке записано число M — число книг в домашней библиотеке. Во второй строке записано число N - число книг в списке на лето. В домашней библиотеке и списке книг есть хотя бы по одной книге (M ≥ 1 и N ≥ 1). Далее идут M строчек с названиями книг из домашней библиотеки и N строчек названий из списка на лето. Гарантируется, что все слова в названиях книг разделены одним пробелом, а после последнего слова сразу идёт перевод строки (т. е. нет «невидимых» пробелов).

Формат вывода

Выходные данные: N строчек, в каждой из которых написано слово YES, если книга найдена в библиотеке, и NO, если нет.

Пример 1

Ввод

4 2 Хоббит Алиса в стране чудес Том Сойер Остров сокровищ Том Сойер Властелин Колец

Вывод

YES NO

Пример 2

Ввод

4 4 Хоббит Алиса в стране чудес Том Сойер Остров сокровищ Буратино Хоббит Остров сокровищ Война и мир

Вывод

NO YES YES NO

Задача 7

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

Формат ввода

В первой строчке указано число листков M. Далее идёт M блоков строчек, описывающих листки с фамилиями. На первой строчке каждого блока указано количество фамилий Ni, затем идёт Ni строчек с фамилиями тех, кто был на уроке i.

Формат вывода

Фамилии учеников, бывших на всех уроках, в произвольном порядке. Каждая фамилия должна быть записана на отдельной строке. Гарантируется, что хотя бы один ученик был на всех уроках.

Пример 1

Ввод

2 4 Александрова Борисова Васильев Иванов 2 Васильев Александрова

Вывод

Александрова Васильев

Пример 2

Ввод

3 4 Александрова Борисов Васильев Иванов 4 Петров Борисов Васильев Александрова 4 Иванов Александрова Петров Борисов

Вывод

Борисов Александрова

Задача 8

Начальник кадровой службы хочет узнать, сколько мужчин-однофамильцев работает в организации. У него есть список фамилий, и на основании этого списка нужно вычислить количество фамилий, которые совпадают с другими.

Формат ввода В первой строке указывается количество мужчин - сотрудников организации (N). Затем идут N строк с фамилиями этих сотрудников в произвольном порядке.

Формат вывода

Количество однофамильцев в организации.

Пример 1

Ввод

6 Иванов Петров Сидоров Петров Иванов Петров

Вывод

5

Пример 2

Ввод

3 Иванов Петров Сидоров

Вывод

0

Задача 9

Марина пригласила гостей и хочет поразить их своим кулинарным мастерством. На магазин времени не осталось, поэтому ей придётся обойтись продуктами, которые уже есть в холодильнике. В кулинарной книге Марины для каждого рецепта записаны необходимые ингредиенты. Определите, какие рецепты Марина может приготовить. Считайте, что если продукт есть в холодильнике, то его достаточно для приготовления любого блюда по любому рецепту.

Формат ввода

В первой строчке указано число продуктов в холодильнике M. Далее идут M строчек с названиями продуктов. После этого — строчка с числом рецептов N. Далее — N блоков, описывающие каждый из рецептов. Блок начинается со строчки с названием рецепта, затем, на следующей строке - количество ингредиентов в нём. Далее идут названия ингредиентов. Названия каждого ингредиента и рецепта состоят из одного слова.

Формат вывода

Названия рецептов, которые можно приготовить из продуктов в холодильнике, в порядке их появления во входном файле.

Пример 1

Ввод

4 Яблоки Хлеб Варенье Картошка 3 Тосты 2 Хлеб Варенье ЯблочныйСок 1 Яблоки Яичница 1 Яйца

Вывод

Тосты ЯблочныйСок

Пример 2

Ввод

2 хлеб масло 1 бутерброд 2 масло хлеб

Вывод

бутерброд

Задача 10

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

Формат ввода

Число блюд (M), которые может приготовить столовая. M строк с названиями блюд. Далее число дней N, для которых есть списки блюд. Далее N блоков строчек для списков блюд на каждый из дней. В первой строчке блока записано число блюд в данный день, затем перечисляются эти блюда.

Формат вывода

Список блюд, которые ещё ни разу не готовили. Каждое блюдо выводится на отдельной строчке. Порядок вывода — произвольный.

Пример

Ввод

5 Овсянка Рис Суп МаннаяКаша Рыба 2 3 Рис Суп Рыба 2 Рис Рыба

Вывод

МаннаяКаша Овсянка
Last modified: 05 November 2024