Подразделы

Другие разделы

Дата и время

24/04/2024 15:05:54

Авторизация

Имя:
Пароль:
Зарегистрироваться
Восстановить пароль
 

printЗадачи муниципального этапа олимпиады школьников по информатике 2009

A. Будильник

Ограничения: время – 200ms/500ms, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0) idea

Известный исследователь Чарльз Ф. Мантц, устав от долгого путешествия через джунгли, лег спать в 10 часов вечера, но предварительно он завел будильник на 12 часов следующего дня. Но проспать 14 часов ему не удалось – будильник зазвонил через 2 часа. Исследователь забыл, что на будильнике, имеющем 12-тичасовой циферблат, можно задать время до звонка только менее 12 часов.
Напишите программу, которая определяет, сколько часов успеет проспать исследователь, прежде чем будильник его разбудит.
В первой строке ввода содержатся два целых числа `S` и `T` (`1\ ≤\ S,\ T\ ≤\ 12`), разделенные одним пробелом - час, когда исследователь лег спать, и час, на который он установил будильник.
Вывести одно целое число – через сколько часов зазвонит будильник.

Пример ввода

10 12

Пример вывода

2

B. Калах

Ограничения: время – 200ms/500ms, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0) idea

В путешествии по Африке Чарльз Ф. Мантц ознакомился с популярной среди аборигенов игрой.
9123.png
Игровое поле состоит из двух рядов лунок. У каждого игрока по 6 лунок. Лунки соперников расположены напротив. Также у каждого игрока есть специальная лунка "калах", которая находится справа от других его лунок.
В начале игры в каждую лунку, кроме "калаха", кладется по 3 камня. Игроки ходят по очереди. В свой ход игрок выбирает одну из своих лунок и раскладывает все камни из этой лунки против часовой стрелки (слева-направо в своих ячейках и справа-налево в ячейках противника). В каждую лунку он кладет по одному камню, при этом пропуская "калах" противника, но не пропуская свой.
Если последний камень игрок кладет в свой "калах", то он делает следующий ход. Если в любую другую лунку, то ход переходит к сопернику. Если последний камень игрок кладет в пустую лунку в своем ряду, а противоположная лунка (в ряду противника) не пуста, то он забирает все камни из противоположной лунки и свой камень в придачу, и кладет их все в свой "калах".
Когда игрок не может сделать ход, так как все его лунки пусты - игра заканчивается. Второй игрок после этого переносит все оставшиеся в его лунках камни в свой "калах". После этого проводится подсчет камней и тому, кто набрал больше камней присуждается победа.
Некоторые партии исследователь записал в свой блокнот. Напишите программу, которая поможет исследователю восстановить позицию, получившуюся в игре после некоторой последовательности ходов.
В первой строке ввода содержится одно целое число `N` (`1\ ≤\ N\ ≤\ 100`) – количество ходов. Далее следует строка из `N` целых чисел в диапазоне от 1 до 6 – номера лунок, из которых игроки делали ходы. Записанная последовательность ходов не содержит ошибок, т.е. ход никогда не выполняется из пустой лунки.
Вывести две строки, содержащие по 7 чисел – состояние лунок с 1-й по 6-ю и калаха сначала для игрока, делавшего ход в партии первым, затем для его соперника.

Пример ввода

3
1 4 1

Пример вывода

0 4 0 4 3 3 0
0 4 4 0 4 4 6
9122.png
Полное решение для случая `N=1` оценивается в 30 баллов.

C. Саванна

Ограничения: время – 200ms/500ms, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (1) idea

Чарльз Ф. Мантц изучает животный мир саванн. Ни в одном уголке Земли нет такого изобилия крупных животных, к ак в африканских саваннах. Бесчисленные стада антилоп, зебр, буйволов, слонов, жирафов кочуют на просторах саванн, переходя с одного пастбища на другое или в поисках водопоев. У исследователя есть спутниковые снимки участка саванны и он хочет определить количество кочующих по нему стад животных.
Напишите программу, которая вычисляет количество стад по результатам анализа снимков. Известно, что животные из одного стада не отходят друг от друга более чем на расстояние `D` и держатся от животных из другого стада на расстоянии более `D`.
В первой строке ввода содержится два целых числа, разделенных пробелом – количество животных `N` (`1\ ≤\ N\ ≤\ 1000`) и расстояние `D` (`1\ ≤\ D\ ≤\ 100`). Далее следует `N` строк, в каждой строке содержатся два целых числа `X_i`, `Y_i` (`0\ ≤\ X_i,\ Y_i\ ≤\ 1000`) – координаты `i`-го животного.
Вывести одно целое число – количество стад.

Пример ввода

4 2
1 1
2 2
3 3
10 1

Пример вывода

2

D. Возрастающие числа

Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (9) idea

В ходе исследований одного племени Чарльз Ф. Мантц выяснил, что они используют в своих вычислениях только "возрастающие" числа, в которых каждая цифра на единицу больше предыдущей. Например, такими числами являются 1, 2, 45, 678, 234567. Кроме того, аборигены "возрастающие" числа, состоящие из трех и более цифр, пишут в сокращенной форме, указывая их первую и последнюю цифру. Например, число 678 записывается как 6-8, а 234567 – как 2-7.
Для общения с аборигенами исследователю необходима программа, которая находит представление любого числа в виде суммы "возрастающих" чисел.
В первой строке ввода содержится одно целое число `N` (`1\ ≤\ N\ ≤\ 10^6`).
Вывести представление числа `N` в виде суммы "возрастающих" чисел. Если существует несколько вариантов, то вывести наиболее короткое представление. Если существует несколько представлений с минимальной длиной, то вывести лексикографически наименьшее из них.

Пример ввода

2009

Пример вывода

1-4+6-8+8+89
loading