Задания муниципального этапа всероссийской олимпиады школьников по... в 2014/2015 учебном году.

advertisement
Задания муниципального этапа всероссийской олимпиады школьников по информатике
в 2014/2015 учебном году.
9-11 классы
(время выполнения заданий 4 часа)
1.
Цифры (100 баллов)
Пете нужно быстро найти сумму цифр числа, которое ему называет Вася. Известно, что Вася
с Петей договорились не называть чисел, больших по модулю, чем 109. Все названные числа - целые.
Помогите Пете написать необходимую программу.
Входные данные
В единственной строке файла DIGITS.IN записано единственное целое число N, такое что |N|<109
Выходные данные
В файл DIGITS.OUT выведите S – сумму цифр числа N.
Пример
DIGITS.IN
DIGITS.OUT
169
16
155558624
41
2.
Часы (100 баллов)
Имеются часы с 12-часовым круглым циферблатом и двумя стрелками – часовой и минутной.
Все деления на циферблате стерлись, кроме начального (на 12 часов). Владимир измерил и записал
углы, на которые отклонены стрелки от начального деления. Помогите ему определить, сколько
времени часы показывают, либо они сломаны.
Часы считаются сломанными, если они показывают невозможное время (часовая и минутная стрелка
не синхронизированы) (рис.)
Часы показывают
время 3:0
Часы показывают
невозможное время
(сломаны)
Замечание: Владимир измерял углы отклонения стрелок часов, как ни странно, по направлению
движения часовой стрелки.
Входные данные
В единственной строке файла CLOCK.IN записаны два неотрицательных целых числа X и Y через
пробел – углы в градусах поворота часовой и минутной стрелок соответственно.
0≤ X,Y<360
Выходные данные
В файл CLOCK.OUT выведите время в формате “hh:mm” (без кавычек), либо символ “*” если часы
сломаны.
Пример
CLOCK.IN
CLOCK.OUT
60 0
2:0
105 55
*
217 84
7:14
3.
Cчиталочка (100 баллов)
В круге стоят N человек (рис.). Они пронумерованы от 1 до
N. Поочередно из круга начинает выходить каждый K-й
человек. Это продолжается до тех пор, пока в круге не
останется последний человек. Определить его номер.
Например, если в круге стояло 7 человек и по считалке
выходит каждый третий, то его поочерёдно покинут 3, 6, 2, 7,
5, 1. Оставшимся будет человек, стоявший на 4 месте.
Входные данные
В единственной строке файла COUNT.IN записаны два натуральных числа, не превышающих 30000,
N и K через пробел – количество людей в кругу, и какого по счету указывает считалочка.
Выходные данные
В файл COUNT.OUT выведите единственное число – номер оставшегося в круге человека
Пример
COUNT.IN
73
4.
COUNT.OUT
4
Факториал (100 баллов)
Дано натуральное число n (которое также может быть равно нулю). Вычислить n!
n! (факториал числа n, читается «эн факториал») – произведение всех натуральных чисел до n
включительно.
Примечание: 0!=1 (ноль факториал считается равным единице)
Входные данные
В единственной строке файла FACT.IN записано натуральное число N не больше 10000
Выходные данные
В файл FACT.OUT выведите единственное число – значение n!.
Пример
FACT.IN
3
6
20
FACT.OUT
6
720
2432902008176640000
5.
Острова (100 баллов)
Каждый элемент квадратной матрицы размеренности N x N равен нулю, либо единице. Найдите
количество «островов», образованных единицами. Под «островом» понимается группа единиц (либо
одна единица), со всех сторон окруженная нулями (или краями матрицы). Единицы относятся к
одному «острову», если из одной из них можно перейти к другой «наступая» на единицы,
расположенные в соседних клетках. Соседними являются клетки, граничащие по горизонтали или
вертикали.
Примечание: одна единица тоже считается островом.
Входные данные
В первой строке файла ICELAND.IN записано натуральное число N не больше 100 - размер
квадратной матрицы. В следующих N строках задаются элементы матрицы через пробел.
Выходные данные
В файл ICELAND.OUT выведите единственное число - количество островов.
Пример
ICELAND.IN
5
10111
00000
11101
01001
00011
ICELAND.OUT
4
Для ВСЕХ задач:
Максимальное время работы на одном тесте:
Максимальный объем используемой памяти:
1 секунда
64 мегабайта
Download