Education 1.1 Help

Задачи

Задача 1

Нобелевская премия по литературе вручается с 1901 года. Согласно Википедии, за это время было присуждено 107 премий. Семь раз — в 1914, 1918, 1935, 1940—1943 годах — награждение не проводилось. Четырежды — в 1904, 1917, 1966 и 1974 годах — премия была разделена между двумя авторами. По заданному имени нобелевского лауреата по литературе выведите год присуждения ему премии. Список лауреатов возьмите со страницы http://noblit.ru/Laureates.

Формат ввода

В единственной строке задано имя и фамилия (иногда с отчеством или вторым именем) нобелевского лауреата. Гарантируется, что введённая строка в точности содержится в первом столбце таблицы на странице http://noblit.ru/Laureates.

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

Выведите одно число — год присуждения премии заданному лауреату.

Пример 1

Ввод

Боб Дилан

Вывод

2016

Пример 2

Ввод

Патрик Виктор Мартиндейл Уайт

Вывод

1973

Задача 2

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

У каждого из Васиных друзей может быть один или больше номеров телефонов. Напишите программу, которая поможет Васе находить все номера определённого друга.

Формат ввода

В первой строке задано одно целое число N (1 ≤ N ≤ 1000) — количество номеров телефонов, информацию о которых Вася решил сохранить в телефонной книге. В следующих N строках заданы телефоны и имена их владельцев через пробел. Телефон — это несколько цифр, записанных подряд, имя же состоит только из русских букв. Записи не повторяются.

В следующей строке записано целое число M (1 ≤ M ≤ 100) — количество запросов от Васи. В следующих M строках записаны сами запросы, по одному на строке. Каждый запрос — это имя какого-то друга, чьи телефоны Вася хочет сейчас найти, записанное в точности так, как в телефонной книге.

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

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

Если в телефонной книге нет телефонов человека с таким именем, выведите в соответствующей строке «Нет в телефонной книге» (без кавычек).

Пример

Ввод

3 3129102 Ваня 79007619273 Коля 79120123456 Ваня 3 Коля Ваня Олег

Вывод

79007619273 3129102 79120123456 Нет в телефонной книге

Задача 3

Дан русский текст. Вам необходимо транслитерировать его, то есть заменить все русские буквы на английские по правилам транслитерации для загранпаспортов 2010 года:

http://mishka.travel/blog/index/node/id/1073-transliteraciya-v-zagranpasportah-rossiiskoi-federacii/

Букву «ё» транслитерируйте как «e», «й» как «и», а «ъ» и «ь» (и их заглавные версии «Ъ» и «Ь») должны исчезнуть из текста. Строчные буквы заменяются на строчные, заглавные заменяются на заглавные. Если заглавная буква превращается при транслитерации в несколько букв, то заглавной должна остаться только первая из них (например, «Ц» → «Tc»).

Все некириллические символы должны остаться на месте.

Формат ввода

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

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

Выведите одну строку — транслитерированный текст.

Пример

Ввод

Я помню чудное мгновенье: Передо мной явилась ты, Как мимолетное виденье, Как гений чистой красоты.

Вывод

Ia pomniu chudnoe mgnovene: Peredo mnoi iavilas ty, Kak mimoletnoe videne, Kak genii chistoi krasoty.

Задача 4

На пиратской карте отмечено N точек, в которых зарыты сокровища. Каждая точка задана координатами (xi, yi). Координаты указаны в километрах.

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

Например, после точки (15, 10) они могут отправиться в точку (18, 16), а вот из точки (14, 68) в точку (19, 71) пройти уже не получится — ведь 68 и 71 различаются не только последней цифрой. Из точки (5, 12) в точку (13, 14) попасть тоже нельзя, так как числа 5 и 13 отличаются в разряде десятков.

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

Формат ввода

В первой строке указано число N (1 ≤ N ≤ 10000) — количество точек, отмеченных на карте сокровищ.

В следующих N строках содержатся пары координат: xi и yi — координаты i-ой точки. Координаты — целые числа не меньше нуля и не больше 1000000000. Гарантируется, что совпадающих точек в списке нет.

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

Выведите одно число — максимальное количество точек, которое Капитан Крюк сможет посетить по маршруту, построенному по описанным правилам.

Пример

Ввод

9 10 18 17 15 25 21 0 21 1 16 25 29 24 24 8 26 10 20

Вывод

3

Задача 5

У Васи N одноклассников. Вася не смог запомнить их дни рождения и решил составить календарь дней рождений класса. По известному списку всех дней рождения научитесь определять, у кого день рождения в заданном месяце.

Формат ввода

В первой строчке записано целое число N (1 ≤ N ≤ 1000) — количество Васиных одноклассников. В следующих N строчках записана информация об их днях рождения. Каждая строчка состоит из трёх частей, разделённых пробелом — имени одноклассника, дня и месяца его рождения. Имя — это строка из русских букв, день — число от 1 до 31, а месяц — строка из набора «янв», «фев», «мар», «апр», «май», «июн», «июл», «авг», «сен», «окт», «ноя», «дек».

Имена всех одноклассников Васи различны.

В следующей строчке записано целое число M (1 ≤ M ≤ 100) — количество вопросов, на которое надо ответить. В следующих M строках содержатся сами вопросы. Вопрос — это название месяца в том же формате, в котором они задаются выше.

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

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

Пример

Ввод

4 Ваня 20 янв Петя 15 июн Вася 10 янв Коля 20 июл 3 июн дек янв

Вывод

Петя Ваня Вася

Задача 6

Дана строчка русского текста, состоящая из слов и пробелов. Словом считается последовательность русских букв, слова разделены одним или большим числом пробелов.

Для каждого слова этого текста узнайте порядковый номер его вхождения в текст именно в той форме, в которой указано слово. Для первого вхождения слова выведите «1», для второго вхождения того же слова выведите «2» и так далее.

Формат ввода

В единственной строчке записан русский текст. Длина текста не превышает 100000 символов. Текст состоит только из русских букв и символов пробела.

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

Для каждого слова исходного текста выведите одно целое число — номер вхождения этого слова в текст. Числа выведите через пробел. Количество чисел должно совпадать с количеством слов в исходном тексте.

Пример

Ввод

Раз раз раз как меня слышно Повторяю раз раз раз Повторяю

Вывод

1 1 2 1 1 1 1 3 4 5 2

Задача 7

Вам дан английский текст. Закодируйте его с помощью азбуки Морзе:

https://en.wikipedia.org/wiki/Morse_code#/media/File:International_Morse_Code.svg

Каждая буква заменяется на последовательность точек и тире. В качестве тире используйте обычный дефис: «-», а в качестве точки — точку «.». Например, буква «g» превратится в трёхсимвольную строку «--.». Между закодированными буквами нужно ставится ровно один пробел. Например, слово «Help» превратится в «.... . .-.. .--.».

Обратите внимание, что строчные и заглавные буквы кодируются одинаково.

Формат ввода

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

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

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

Пример

Ввод

Help me SOS

Вывод

.... . .-.. .--. -- . ... --- ...

Задача 8

Вася учит новые слова. Для этого он пользуется небольшим толковым словарём. Каждая запись в словаре — это слово и текстовое описание его значения.

Для проверки мама называет Васе слова из словаря — а он должен воспроизводить их описания.

Помогите Васе справиться с проверкой.

Формат ввода

В первой строке задаётся целое число N (1 ≤ N ≤ 1000) — количество записей в толковом словаре Васи. В каждой из следующих N строк дано по одной записи: сначала идёт слово, а затем через пробел непустое описание его значения. Все слова, значение которых записано в словаре, различны.

В следующей строчке после толкового словаря записано целое число M (1 ≤ M ≤ 100) — количество слов, которое проверит мама. В следующих M строках перечислены слова для проверки, по одному на строке. Слова записаны в точности так, как они представлены в словаре.

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

Для каждого слова из маминого списка проверки выведите описание его значения из словаря или фразу «Нет в словаре» (без кавычек), если такого слова нет в словаре.

Пример

Ввод

3 Пример Поступок, поведение или явление, служащее образцом для кого-л. Задача Цель, к которой стремятся, которую хотят достичь. Учёба Процесс действия по значению глаг.: учиться. 4 Пример Отличник Задача Пример

Вывод

Поступок, поведение или явление, служащее образцом для кого-л. Нет в словаре Цель, к которой стремятся, которую хотят достичь. Поступок, поведение или явление, служащее образцом для кого-л.
Last modified: 08 April 2025