Муниципальный этап всероссийской олимпиады школьников по информатике
Республика Алтай
Задания для 9–11 классов
Ограничение по времени работы программы во всех задачах: 1 секунда. Каждая задача оценивается в 100 баллов. Решение этих задач должно быть представлено в виде программы, которая считывает входные данные из текстового файла input.txt, а результат записывает в текстовый файл output.txt. Если решение проходит все тесты из условия, то оно принимается на проверку; если тест не пройден, решение не принимается на проверку и не будет оценено.
Задача 1. Лотерея в цветочном магазине
В цветочном магазине лотерея. Каждому покупателю выдается еще один цветок в подарок. На круглой вращающейся полке стоят N горшков с цветами. Каждый горшок имеет порядковый номер от 1 до N. Покупатель, участвующий в лотерее, называет номер чека M и продавец считает по кругу горшки, начиная с горшка с номером 1. Тот горшок, на котором достигается число M, выдается покупателю. Определите номер цветочного горшка, который достанется покупателю.
Программа получает на вход два целых положительных числа. Первое число N — количество горшков на полке. Второе число M — номер чека покупателя. Гарантировано, что M≥N (это условие проверять не нужно, в тестах к задаче оно учтено). Все числа не превосходят 2∙109.
Программа должна вывести номер цветочного горшка, который получит покупатель.
Пример входных и выходных данных
вход | выход |
5 9 | 4 |
12 36 | 12 |
Решение задачи должно быть представлено в виде файла программы для среды программирования. Файл необходимо сохранить в папке с решениями и в названии указать номер задачи
Задача 2. Конвейер
На конвейере три лотка с деталями. В левом лотке лежат X деталей, в среднем лежат Y деталей, в правом лежат Z деталей. Робот берет одну деталь из левого лотка, затем одну деталь из среднего лотка, затем из правого, среднего, левого, среднего, правого, среднего и т. д. (слева направо, затем справа налево, опять слева направо и т.д.)
Если в каком-нибудь лотке детали кончились, робот останавливает конвейер и подает сигнал. Определите, сколько всего деталей возьмет робот до остановки конвейера.
Программа получает на вход три целых положительных числа X, Y, Z – количество деталей в левом, среднем, правом лотке. Сумма трёх данных чисел не превосходит 2∙109.
Программа должна вывести число деталей, которые возьмет робот до остановки.
Пример входных и выходных данных
вход | выход |
3 3 3 | 7 |
10 19 20 | 39 |
Решение задачи должно быть представлено в виде файла программы для среды программирования. Файл необходимо сохранить в папке с решениями и в названии указать номер задачи
Задача 3. Счастливая неделя.
В году племени Доджиков N месяцев, ровно по 30 дней каждый, неделя состоит из 7 дней. Если в понедельник выпадает первое число месяца, у племени Доджиков наступает счастливая неделя праздников.
Этот год у племени начался в k-й по счету день недели (1-й день недели — понедельник, 2-й — вторник, 3-й — среда, … , 7-й — воскресенье). Определите, сколько в этом году у племени Доджиков будет счастливых недель.
Программа получает на вход в первой строке целое положительное число N — количество месяцев в календаре племени Доджиков, не превосходящее 109. Во второй строке число k — номер дня недели, на который приходится первое число первого месяца нового года (1≤k≤7).
Программа должна вывести единственное целое число — количество счастливых недель в этом году.
Пример входных и выходных данных
Решение задачи должно быть представлено в виде файла программы для среды программирования. Файл необходимо сохранить в папке с решениями и в названии указать номер задачи
Задача 4. Лыжные гонки.
В лыжных гонках участвовали N спортсменов. В протокол соревнований заносятся номера спортсменов и их результат. Напишите программу, которая на экран выводит номера спортсменов из первой тройки победителей.
На входе программа получает в первой строчке целое положительное число N. Далее в N строках записаны номер участника K (1≤K≤100 000) и через пробел его результат в формате mm:ss, где mm минуты (10≤mm≤59), ss секунды (0≤ss≤59).
Программа должна вывести на отдельных строках номера трех спортсменов с лучшим результатом – наименьшее время, затраченное на прохождение дистанции. При наличии нескольких спортсменов с равным лучшим результатом необходимо вывести все их номера в одной строке через пробел в порядке возрастания.
Пример входных и выходных данных
вход | выход |
5 1 10:05 2 11:00 3 10:00 4 10:15 5 10:09 | 3 1 5 |
5 1 10:05 2 10:00 3 10:00 4 10:05 5 10:09 | 2 3 1 4 5 |
Решение задачи должно быть представлено в виде файла программы для среды программирования. Файл необходимо сохранить в папке с решениями и в названии указать номер задачи
Задача 5. Автомобильные номера
В нашей стране принят автомобильный номер следующего формата: буква, три цифры, две буквы, без учета кода региона. Например, A123BC. Петя недавно узнал, что такое палиндром. Палиндромом называется строка, которая одинаково читается как слева направо, так и справа налево. Петя вышел на улицу и стал разглядывать номера на автомобилях. Он заметил, что буквы номера без цифр могут быть палиндромами (например, А123BA), а могут и цифры без букв образовывать палиндром (например, A121BC). Ну и в редком случае встречаются номера, в которых и буквы и цифры образуют два палиндрома (например, A121BA). Петя решил подсчитать, сколько встречается номеров, где нет ни одного палиндрома, палиндромы только буквы, только цифры, и буквы и цифры. Помогите Пете составить программу подсчета количества таких номеров.
Программа получает на вход N строк текста (1≤N≤100 000), каждая строка содержит один образец автомобильного номера. Каждый образец содержит 3 любые цифры и 3 любые заглавные латинские буквы (других символов во входных данных быть не может). Среди номеров может быть некорректный номер, у которого не соблюдается порядок цифр и букв, например, AB1B22.
Программа должна вывести:
в первой строке количество номеров, в которых ни буквы, ни цифры не образуют палиндрома,
во второй — количество номеров, в которых только буквы образуют палиндром,
в третьей — количество номеров, в которых только цифры образуют палиндром,
в четвертой — количество номеров, в которых и буквы и цифры образуют палиндром.
Пример входных и выходных данных
вход | выход |
A101AB A102BA A101AA A123BC E334ED E202ER E327EE Z124AQ S209RS W342OP | 4 3 2 1 |
1AAA11 B222BB C123CC A111BC | 0 1 1 1 |
Решение задачи должно быть представлено в виде файла программы для среды программирования. Файл необходимо сохранить в папке с решениями и в названии указать номер задачи