Условия в формате pdf

advertisement
Задача А. «Да пребудет с тобой Сила!»
Максимальное время работы на одном тесте:
Максимальный объем используемой памяти:
2 секунды
64 мегабайта
В перерывах между тренировками по спортивному подниманию кораблей из болота Люк и
Магистр Йода практикуются в логических играх. Потому что «Сила есть – ума не надо!» это только про тех, чьи мечи светятся красненьким, а те, чьи мечи светятся синеньким и
зелененьким, должны развивать свою личность комплексно и гармонично, питаться
продуктами, богатыми кальцием и йодой, слушаться старших и не нарушать баланс Силы в
природе.
Сегодня Люк и Йода играют в Диггера. Поле для игры представляет собой прямоугольную
картофельную грядку размера M*N клеточек. Изначально ни одна клетка грядки не
перекопана. Игроки делают ходы по очереди. Игрок, который делает первый ход, может
перекопать (разумеется, при помощи Силы) одну любую клетку поля. Перед любым
последующим ходом перекопанная часть поля представляет собой прямоугольник
(возможно, квадрат). Очередным ходом игрок может выбрать любую из сторон
перекопанного прямоугольника и перекопать полоску поля шириной 1 вдоль всей длины
этой стороны (см. рисунок). Перекапывать участки, не лежащие в пределах поля, нельзя.
Игрок, который не может сделать очередной ход, проигрывает.
Черным цветом обозначена перекопанная
часть поля. Заштрихованные участки –
возможные варианты следующего хода.
M
N
По заданным размерам грядки требуется узнать, кто победит в игре. Поскольку Люк немного
устал после предыдущей тренировки, первым ходит Йода.
Формат входных данных
В единственной строке входных данных содержатся два целых числа, разделенных
пробелом: M и N – размеры грядки по вертикали и горизонтали соответственно.
1<=M,N<=1000.
Формат результата
В единственную строку результата вывести "LUKE" (без кавычек, заглавными буквами),
если победит Люк, и "YODA" (без кавычек, заглавными буквами), если победит Йода.
Пример входных данных и результата:
standard input
2 2
5 6
standard output
YODA
LUKE
Задача B. Холодильник
Максимальное время работы на одном тесте:
Максимальный объем используемой памяти:
2 секунды
64 мегабайта
В ЦЕРНе построили самый большой в мире холодильник. Стоимость холодильника - около
$8 млрд., протяженность - почти 27км, потребляемая мощность – около 120 МВт. Внутри
поддерживается температура в 2 градуса Кельвина. Внутрь этого холодильника можно
поместить 150000 обычных холодильников, заполненных сосисками. Заявка на регистрацию
в книге рекордов Гиннеса уже отправлена…
Альберт снова забыл код от своей персональной ячейки холодильника. К счастью, для таких
случаев у Альберта есть листочек, на котором он записывает все необходимые ему коды.
Однако на листочке сделано уже очень много записей, и Альберт не помнит, какая именно
ему нужна.
Замок на холодильнике представляет собой цифровую клавиатуру:
1
4
7
*
2
5
8
0
3
6
9
#
Код на этом замке - комбинация трех последовательно нажимаемых цифр (возможно,
совпадающих). Альберт помнит, что нужная комбинация обладала следующим свойством:
все цифры, входящие в код, можно покрыть на цифровой клавиатуре одной фигуркой
тетриса, располагаемой таким образом, что каждый квадрат фигурки покрывает ровно одну
клетку кодового замка. При этом фигурка должна полностью умещаться на цифровой
клавиатуре и не покрывать символы * и #. Альберт хочет узнать, какое количество чисел
среди записанных на листочке могут быть нужным ему кодом.
Примечание. Существуют следующие фигурки тетриса:
Формат входных данных
В первой строке входных данных содержится единственное число 0<N<=1000 - количество
вариантов кодовых комбинаций в списке. В следующих N строках перечислены варианты
кода, по одному в каждой строке. Каждый вариант кода состоит из идущих подряд без
пробелов трех цифр. Каждый вариант кода может встречаться во входных данных не более
одного раза.
Формат результата
В качестве результата выведите единственное число: количество вариантов кодовых
комбинаций из приведенного списка, которые можно покрыть фигуркой тетриса.
Пример входных данных и результата:
standard input
5
000
012
123
234
565
2
900
790
standard output
4
2
Задача C. Игры памяти
Максимальное время работы на одном тесте:
Максимальный объем используемой памяти:
2 секунды
64 мегабайта
Алиса (ALICE - Artificial Lively Intelligent Creature Entity) и Боб (BOb - Binary Object) играют
в следующую игру: Алиса загадывает число от 0 до N, а Боб пытается его угадать. Боб может
задавать Алисе вопросы вида "верно ли, что загаданное число больше Х?". Каждый ответ
занимает один регистр памяти Боба. У Боба всего 100 свободных регистров, и, когда
регистры кончаются, Боб зависает. Боб не любит зависать, потому что тогда Алиса, чтобы
перезагрузить его, стукает его трехтомником Кнута.
Бобу требуется отгадать загаданное число, задав при этом не более 100 вопросов.
Формат ввода/вывода:
В первой строке входных данных находится единственное целое число N:
0<=N<=1000000000. Загаданное число лежит в диапазоне от 0 до N включительно.
Для того чтобы задать вопрос "верно ли, что загаданное число больше X?", нужно вывести X
на новой строке (X должно быть целым числом от 0 до N включительно). После этого во
входной поток записывается YES или NO. Когда загаданное число определено, нужно
вывести на новой строке OK N. Можно задать не более 100 вопросов.
Примечание: особенности решения интерактивных задач описаны здесь.
(http://olymp.mephi.ru/main/faq/20-osobennosti-interaktivnyx-zadach.html)
Пример входных данных и результата:
(для наглядности данные отделены дополнительными пустыми строками)
standard input
standard output
10
1
YES
2
YES
3
YES
4
YES
5
NO
OK 5
Задача D. День рождения
Максимальное время работы на одном тесте:
Максимальный объем используемой памяти:
2 секунды
64 мегабайта
Однажды Люк, Хан Соло, принцесса Лейя и несколько солдат-повстанцев решили сходить
на День Рождения их любимого Дарта Вейдера. С пустыми руками идти нельзя, поэтому
решили заказать торт в межгалактической корпорации по производству сладостей “the Most
Enchanting Pies in the wHole Intergalaxy (MEPHI)”. Не было никаких сомнений в выборе
формы торта – он должен быть похож на имперский крейсер.
Возник вопрос – как резать торт? Решили резать через середину кормы корабля. Например,
процесс разрезания торта на 4 кусочка выглядит следующим образом:
В общей сложности на День Рождения пришло N человек. Необходимо разрезать торт на
(N+1) кусочков (сам Дарт Вейдер тоже любит торты), то есть сделать N разрезов.
Торт представляет собой равнобедренный треугольник с основанием A и высотой H. Разрезы
проводятся через середину основания. Угол разреза β — угол между направлением разреза и
положительным направлением оси ОХ (см. рисунок)
Требуется найти N таких углов, что, разрезав торт в направлении этих углов, получится
(N+1) равных по площади кусочков.
Формат входных данных
В единственной строке входных данных заданы через пробел три целых числа: A, H и N
(1<=A,H<=100; 1<=N<=30).
Формат результата
В качестве результата нужно вывести N чисел - углы в градусах, через которые надо
провести разрезы, чтобы получить N+1 равных кусков торта. Числа должны быть выведены
в порядке возрастания и с точностью не менее 4 знаков после запятой. Каждое число должно
быть выведено на отдельной строке.
Пример входных данных и результата:
standard input
10 10 1
8 4 3
standard output
90
45
90
135
Задача E. Непроходимая …
Максимальное время работы на одном тесте:
Максимальный объем используемой памяти:
4 секунды
64 мегабайта
Дед Мороз оторвал взгляд от экрана монитора и посмотрел в окно. Настроение было
скверным - на электронной почте вместо детских заказов на подарки - сплошной спам про
распродажи ограниченных коллекций Ролексов с титановыми корпусами (выдерживают
выстрел в упор ракетой РСМ-56 "Булава", специальный дизайн для отпугивания
террористов) по 49.95$ за штуку.
Опять дождь. И это всего за три недели до Нового Года. На заднем дворе капли дождя
стекали по блестящим новой краской шестисотым саням, а рядом стоял весь замызганный
грязью "Patriot".
"Может, все-таки на санях съездить..?" - подумал Дед Мороз. Дорога до ближайшего
продуктового магазина была грунтовой - при условии, что она вообще ещё была. Впрочем,
характеристики проходимости своих саней Дед Мороз знал хорошо, а состояние дороги
можно было оценить по лужам на собственном заднем дворе.
Состояние дороги оценивается по среднему размеру луж на заднем дворе Деда Мороза.
Задний двор представляет собой прямоугольник размера N*M, замощенный квадратными
плитками 1*1. Лужи задаются окружностями с известными радиусом и координатами
центра. Плитка целиком покрывается водой, если хотя бы одна внутренняя точка плитки
(границы не включаются) лежит внутри окружности (таким образом, каждая лужа занимает
всегда целое число плиток!). Две лужи могут сливаться в одну, если существует хотя бы
одна плитка, которая покрывается обеими лужами. Требуется определить среднюю площадь
луж на заднем дворе Деда Мороза.
Формат входных данных
В первой строке входных данных записаны три положительных целых числа: N, M и K, где
M – размер заднего двора Деда Мороза (в плитках) по вертикали, N – по горизонтали, K –
количество луж на дворе (1<=N*M<=100000, 1<=K<=100). В каждой из следующих K строк
дается описание одной лужи: три числа Xi, Yi, Ri (0<=Xi<= N, 0<=Yi<=M, 0.01<=Ri<=2000) координаты центра и радиус i-й окружности. Все числа заданы с точностью до двух знаков
после запятой.
Формат результата
В качестве результата выведите единственное число - среднюю площадь луж на заднем
дворе Деда Мороза, с точностью не менее 4-х знаков после запятой.
Пример входных данных и результата:
standard input
5 5 2
0.00 0.00
2.50 2.00
5 5 2
0.00 0.00
2.50 2.00
standard output
3.5
1.00
0.90
9
1.42
0.90
Задача F. Hide’n’seek
Максимальное время работы на одном тесте:
Максимальный объем используемой памяти:
4 секунды
64 мегабайта
Алиса (ALICE - Artificial Lively Intelligent Creature Entity) и Боб (BOb - Binary Object) играют
в прятки. Боб прячется в файлах с картинками в памяти Алисы, а Алиса его ищет. Боб очень
хорошо умеет прятаться, а Алиса не любит проигрывать. Поэтому Алисе нужна программа,
которая помогла бы ей искать Боба в своей памяти.
Картинки в памяти Алисы представляют собой прямоугольные матрицы размера N*M,
каждый элемент которых - число от 0 до 255 (1 байт). Боб материализуется в памяти Алисы в
виде битовой маски (матрицы, элементы которой - нули и единицы) размера Nb*Mb.
Когда Боб прячется в картинку, то в некотором прямоугольном фрагменте этой картинки
размера Nb*Mb некоторый (один и тот же) бит во всех элементах заменяется
соответствующим числом из битовой маски Боба.
Пример:
Битовая маска Боба:
1
0
1
1
1
1
0
1
1
Картинка в памяти Алисы, числа записаны в десятичном и двоичном представлениях,
жирным шрифтом выделен фрагмент и биты, где спрятался Боб:
7
9
16
100
7
2
00000111 00001001 00010000 01100100 00000111 00000010
8
2
7
20
1
1
00001000 00000010 00000111 00010100 00000001 00000001
20
11
0
133
255
8
00010100 00001011 00000000 10000101 11111111 00001000
23
9
132
132
21
0
00010111 00001001 10000100 10000100 00010101 00000000
20
18
65
48
77
1
00010100 00010010 01000001 00110000 01001101 00000001
На вход дается битовая маска Боба и набор картинок в памяти Алисы. Требуется найти, где
спрятался Боб, и вывести номер картинки. Если Боба нет в картинках, вывести “NONE”.
Если есть несколько разных картинок, где мог спрятаться Боб, вывести “MULTIPLE”.
Формат входных данных
Сначала следует описание битовой маски Боба. В первой строке входных данных задаются
два целых числа - размеры битовой маски Mb и Nb (Mb – число строк, Nb – число столбцов,
1<=Mb*Nb<=1000). Далее следует матрица, задающая битовую маску — Mb строк по Nb
чисел (0 или 1), разделенных одним пробелом.
Далее описываются картинки в памяти Алисы. В первой строке описания содержится
единственное целое число K — число картинок в памяти Алисы.(1<=K<=10). Следом идут K
блоков, описывающих картинки. В первой строке описания каждого блока задаются размеры
очередной картинки Mi, Ni. (Mi - количество строк, Ni - количество столбцов,
1<=Mi*Ni<=1000). В следующих Mi строках блока задается матрица, описывающая картинку
— Mi строк, в каждой строке по Ni целых чисел от 0 до 255, разделенных одним пробелом.
Формат результата
Если картинка, в которой спрятался Боб, определяется единственным образом, в
единственной строке выходных данных выведите номер этой картинки. Если есть несколько
разных картинок, где может прятаться Боб, выведите “MULTIPLE” (без кавычек, заглавными
буквами). Если Боба нет ни в одной картинке, выведите “NONE” (без кавычек, заглавными
буквами).
Пример входных данных и результата:
(для удобства восприятия строчки, описывающие размеры очередной матрицы, напечатаны
жирным шрифтом)
standard input
2
1
1
2
2
1
7
2
1
2
2
1
1
2
2
0
0
3
1
1
1
2
1
1
standard output
1
2
3
1
2
2
1
2
1
1
2
0
0
4
1 1 1
0 0 1
1 1 1
NONE
Задача G. Электроньи бега
Максимальное время работы на одном тесте:
Максимальный объем используемой памяти:
2 секунды
64 мегабайта
Глубокой ночью, когда Бозоны Хиггса крепко спят и искать их бессмысленно, Альберт и
Альфред устраивают соревнования между электронами. Суть соревнования состоит в том,
что Альберт и Альфред по очереди запускают свой электрон в коллайдер, после чего
электрон совершает по коллайдеру ровно один круг. Побеждает тот электрон, который на
протяжении круга покажет наибольшую максимальную скорость.
Вся окружность коллайдера разделена на N секторов равной длины, причем на каждом из
секторов электромагнитное поле может быть включено либо выключено. На каждом секторе
с включенным электромагнитным полем электрон Альфреда ускоряется на 2км/с, на каждом
секторе с выключенным полем - замедляется на 1км/с. Электрон Альфреда имеет начальную
скорость V, и скорость его электрона не может упасть ниже V (если электрон имеет скорость
V и движется по сектору с выключенным э/м полем, его скорость сохраняется).
Альфред знает, что электрон Альберта шустрее, чем его собственный, но после того, как
электрон Альберта закончит свой круг, Альфред надеется незаметно включить поле на
нескольких секторах коллайдера. Поле можно включить не более чем на K секторах, иначе
половина Европы снова останется без света.
Альфред хочет узнать, какой максимальной скорости сможет достичь его электрон на своем
круге.
Формат входных данных
В первой строке входных данных записаны три целых числа, разделенные пробелом:
начальная скорость электрона Альфреда V (в км/с, 0<=V<=1000000), общее количество
секторов в коллайдере N (1<=N<=10000) и количество секторов, которые можно включить K
(0<=K<=100). Вторая строка описывает начальное состояние коллайдера и состоит из N
символов + и #, где + обозначает сектор с включенным полем, а # - с выключенным. Строка
описывает состояние секторов коллайдера последовательно, начиная с первого сектора.
Формат результата
В единственной строке выходных данных выведите одно целое число – максимальную
скорость, которой достигнет электрон Альфреда на протяжении круга.
Пример входных данных и результата:
standard input
1 9 1
+++#+++##
100 17 3
##++#++###+###+##
standard output
15
115
Download