Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
problems 8-11.doc
Скачиваний:
3
Добавлен:
13.07.2019
Размер:
104.45 Кб
Скачать

Всероссийская олимпиада школьников по информатике. 2011/12 учебный год Школьный этап

Информация о составлении варианта и проведении школьного этапа Всероссийской олимпиады школьников по информатике

Рекомендуемое количество задач в варианте – 3-4. Рекомендуемая продолжительность тура — 2 часа.

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

Проверка решений осуществляется путем запуска программы, ввода тестовых данных и проверки выданных программой ответов. Тесты приведены в конце данного файла (после условий задач). Во всех задачах ответ всегда определен однозначно, т.е. для проверки правильности ответа его достаточно сравнить с приведенным.

В каждой задаче приведено 5 или 10 тестов, каждый тест оценивается 20 или 10 баллами соответственно. Баллы за задачу получаются суммированием баллов за пройденные тесты (суммарный балл за задачу равен 100).

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

Для проверки задач школьного этапа система будет доступна c 11 октября по 15 ноября включительно по адресу

Для учителей: olympiads.ru/moscow/2011/school

Для учащихся: olympiads.ru/olymp

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

Есть два варианта автоматической проверкой:

      1. Учащийся самостоятельно сдает задачи в тестирующую систему и получает результат в виде количества баллов по задаче.

      2. Учащиеся сдают решения учителю, а учитель после окончания олимпиады сдает в тестирующую систему решения учащихся и получает полный протокол проверки, включая тестовые данные и результаты работы программы (выходные данные).

В системе автоматической проверки будут доступны следующие компиляторы: Delphi, Free Pascal, GNU C/C++, Java, PHP, Perl, Python (2 и 3), Ruby.

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

Ссылка для входа в систему автоматической проверки для учителей является секретной (известна только организаторам олимпиады) и не должна быть известна учащимся. Для учащихся, желающих воспользоваться тестирующей системой предназначена ссылка olympiads.ru/olymp.

Замечания и комментарии по предложенным задачам вы можете отправить в городскую методкомиссию по e-mail moscow@olympiads.ru

Задача «Стоимость покупки»

Пирожок в столовой стоит a рублей и b копеек. Определите, сколько рублей и копеек нужно заплатить за n пирожков.

Формат ввода

Вводятся 3 числа: a, b и n. Все числа целые неотрицательные и не превышают 99.

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

Необходимо вывести 2 числа — стоимость покупки в рублях и копейках.

Примеры

Пример ввода

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

10

15

2

20 30

2

50

4

10 0

Задача «Ваня наблюдает за лягушкой»

Ваня наблюдает за лягушкой. Изначально она сидит в точке 0 числовой прямой. Каждую секунду она прыгает на 1 вправо, пока не достигнет точки K. Затем она начинает каждую секунду прыгать на 1 влево, пока не вернется в точку 0, затем – опять вправо и т. д. Требуется определить, где окажется лягушка через T секунд.

Формат ввода

Вводятся два числа K и T. Оба числа натуральные и не превосходят 1 000 000 000.

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

Выведите одно число – координату лягушки в момент времени T.

Пример

Пример ввода

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

5

8

2

Задача «Составные числа»

Необходимо вывести все составные числа от 2 до N, а также количество. Составное число — это натуральное число, которое можно представить в виде произведения двух натуральных чисел, больших 1.

Формат ввода

Вводится натуральное число N, большее 1 и не превосходящее 100.

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

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

Пример

Пример ввода

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

10

4 6 8 9 10

5

Задача «Забавная игра»

Легендарный учитель математики Юрий Петрович придумал забавную игру с числами. А именно, взяв произвольное целое число, он переводит его в двоичную систему счисления, получая некоторую последовательность из нулей и единиц, начинающуюся с единицы. (Например, десятичное число 1910 = 1∙24+0∙23+0∙22+1∙21+1∙20 в двоичной системе запишется как 100112.) Затем учитель начинает сдвигать цифры полученного двоичного числа по циклу (так, что последняя цифра становится первой, а все остальные сдвигаются на одну позицию вправо), выписывая образующиеся при этом последовательности из нулей и единиц в столбик — он подметил, что независимо от выбора исходного числа получающиеся последовательности начинают с некоторого момента повторяться. И, наконец, Юрий Петрович отыскивает максимальное из выписанных чисел и переводит его обратно в десятичную систему счисления, считая это число результатом проделанных манипуляций. Так, для числа 19 список последовательностей будет таким:

10011

11001

11100

01110

00111

10011

и результатом игры, следовательно, окажется число 1∙24+1∙23+1∙22+0∙21+0∙20 = 28.

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

Формат ввода

Входной файл содержит одно целое число N (0 ≤ N32767).

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

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

Пример

Пример ввода

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

19

28

Задача «Пароль»

Пароль называется криптостойким, если выполнены 4 критерия:

      • Пароль содержит строчные латинские буквы

      • Пароль содержит заглавные латинские буквы

      • Пароль содержит цифры

      • Длина пароля не менее 8 символов

Требуется по данному паролю определить, сколько критериев криптостойкости выполнено.

Формат ввода

Вводится одна строка, состоящая только из латинских букв и цифр. Количество символов в строке не превышает 100.

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

Выведите количество критериев криптостойкости, которым удовлетворяет пароль.

Примеры

Пример ввода

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

1aA

3

AaBbCc12

4

AAAaaaAAA

3

Задача «Сапер»

Мальчику Васе очень нравится известная игра "Сапер" ("Minesweeper").

В "Сапер" играет один человек. Игра идет на клетчатом поле (далее будем называть его картой) NxM (N строк, M столбцов). В K клетках поля стоят мины, в остальных клетках записано либо число от 1 до 8 — количество мин в соседних клетках, либо ничего не написано, если в соседних клетках мин нет. Клетки являются соседними, если они имеют хотя бы одну общую точку, в одной клетке не может стоять более одной мины. Изначально все клетки поля закрыты. Игрок за один ход может открыть какую-нибудь клетку. Если в открытой им клетке оказывается мина — он проигрывает, иначе игроку показывается число, которое стоит в этой клетке, и игра продолжается. Цель игры — открыть все клетки, в которых нет мин.

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

По заданным NMK и координатам мин восстановите полную карту.

Формат ввода

В первой строке входного файла содержатся числа NM и K (1≤ N, M, K ≤ 10). Далее идут K строк, в каждой из которых содержится по два числа, задающих координаты мин. Первое число в каждой строке задает номер строки клетки, где находится мина, второе число — номер столбца. Левая верхняя клетка поля имеет координаты (1,1), правая нижняя — координаты (N, M).

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

Выходной файл должен содержать N строк по M символов — соответствующие строки карты. j-й символ i-й строки должен содержать символ ‘*‘ (звездочка) если в клетке (i, j) стоит мина, цифру от 1 до 8, если в этой клетке стоит соответствующее число, либо ‘.‘ (точка), если клетка (i, j) пустая.

Примеры

Пример ввода

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

4 4 2

2 2

2 3

1221

1**1

1221

....

Тестовые данные для проверки решений задач олимпиады

Задача A «Стоимость покупки»

Тестовые данные содержат 10 тестов, каждый тест оценивается в 10 баллов.

теста

Входные данные

Ответ

1

10 15 2

20 30

2

2 50 4

10 0

3

3000 99 3000

9002970 0

4

2029 34 1848

3750220 32

5

1886 73 295

556585 35

6

1069 40 1967

2103509 80

7

905 79 496

449271 84

8

1967 91 926

1822284 66

9

2255 76 1090

2458778 40

10

2435 6 1965

4784892 90

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]