Вы находитесь на странице: 1из 591

2/29/2020 Все задачи сайта

Задача №1
A+B
(Время: 1 сек. Память: 16 Мб Сложность: 2%)
Требуется сложить два целых числа А и В.

Входные данные
В единственной строке входного файла INPUT.TXT записаны два натуральных числа через пробел. Значения чисел не
превышают 109.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число — сумму чисел А и В.

Пример
№ INPUT.TXT OUTPUT.TXT
1 2 3 5

Задача №2
Сумма
(Время: 1 сек. Память: 16 Мб Сложность: 19%)
Требуется посчитать сумму целых чисел, расположенных между числами 1 и N включительно.

Входные данные
В единственной строке входного файла INPUT.TXT записано единственное целое число N, не превышающее по
абсолютной величине 104.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число — сумму чисел,
расположенных между 1 и N включительно.

Пример
№ INPUT.TXT OUTPUT.TXT
1 5 15

Задача №3
Пятью пять - двадцать пять!
(Время: 1 сек. Память: 16 Мб Сложность: 8%)
Вася и Петя учатся в школе в одном классе. Недавно Петя поведал Васе о хитром способе возведения в квадрат
натуральных чисел, оканчивающихся на цифру 5. Теперь Вася может с легкостью возводить в квадрат двузначные (и даже
некоторые трехзначные) числа, оканчивающиеся на 5. Способ заключается в следующем: для возведения в квадрат числа,
оканчивающегося на 5 достаточно умножить число, полученное из исходного вычеркиванием последней пятерки на
следующее по порядку число, затем остается лишь приписать «25» к получившемуся результату справа. Например, для
того, чтобы возвести число 125 в квадрат достаточно 12 умножить на 13 и приписать 25, т.е. приписывая к числу
12*13=156 число 25, получаем результат 15625, т.е. 1252=15625. Напишите программу, возводящую число,
оканчивающееся на 5, в квадрат для того, чтобы Вася смог проверить свои навыки.

Входные данные
В единственной строке входного файла INPUT.TXT записано одно натуральное число А, оканчивающееся на цифру 5,
не превышающее 4*105.

https://acmp.ru/index.asp?main=alltasks 1/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT выведите одно натуральное число - A2 без лидирующих нулей.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 5 25
2 75 5625
3 4255 18105025

Задача №4
Игра
(Время: 1 сек. Память: 16 Мб Сложность: 4%)
В свободное время одноклассники Вася и Петя любят играть в различные логические игры: морской бой, крестики-
нолики, шахматы, шашки и многое другое. Ребята уже испробовали и поиграли во всевозможные классические игры
подобного рода, включая компьютерные. Однажды им захотелось сыграть во что-нибудь новое, но ничего подходящего
найти не удалось. Тогда Петя придумал следующую игру «Угадайка»: Играют двое участников. Первый загадывает любое
трехзначное число, такое что первая и последняя цифры отличаются друг от друга более чем на единицу. Далее
загадавший число игрок переворачивает загаданное число, меняя первую и последнюю цифры местами, таким образом
получая еще одно число. Затем из максимального из полученных двух чисел вычитается минимальное. Задача второго
игрока – угадать по первой цифре полученного в результате вычитания числа само это число. Например, если Вася загадал
число 487, то перестановкой первой и последней цифры он получит число 784. После чего ему придется вычесть из 784
число 487, в результате чего получится число 297, которое и должен отгадать Петя по указанной первой цифре «2», взятой
из этого числа. Петя успевает лучше Васи по математике, поэтому практически всегда выигрывает в играх такого типа. Но
в данном случае Петя схитрил и специально придумал такую игру, в которой он не проиграет Васе в любом случае. Дело в
том, что придуманная Петей игра имеет выигрышную стратегию, которая заключается в следующем: искомое число всегда
является трехзначным и вторая его цифра всегда равна девяти, а для получения значения последней достаточно отнять от
девяти первую, т.е. в рассмотренном выше случае последняя цифра равна 9-2=7. Помогите Пете еще упростить процесс
отгадывания числа по заданной его первой цифре, написав соответствующую программу.

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

Выходные данные
В выходной файл OUTPUT.TXT нужно вывести значение полученной Васей разности.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 5 594
2 2 297
3 7 792

Задача №5
Статистика
(Время: 1 сек. Память: 16 Мб Сложность: 15%)
Вася не любит английский язык, но каждый раз старается получить хотя бы четверку за четверть, чтобы оставаться
ударником. В текущей четверти Вася заметил следующую закономерность: по нечетным дням месяца он получал тройки, а
по четным – четверки. Так же он помнит, в какие дни он получал эти оценки. Поэтому он выписал на бумажке все эти дни
для того, чтобы оценить, сколько у него троек и сколько четверок. Помогите Васе это сделать, расположив четные и
нечетные числа в разных строчках. Вася может рассчитывать на оценку 4, если четверок не меньше, чем троек.

Входные данные
https://acmp.ru/index.asp?main=alltasks 2/591
2/29/2020 Все задачи сайта

В первой строке входного файла INPUT.TXT записано единственное число N – количество элементов целочисленного
массива (1 ≤ N ≤ 100). Вторая строка содержит N чисел, представляющих заданный массив. Каждый элемент массива –
натуральное число от 1 до 31. Все элементы массива разделены пробелом.

Выходные данные
В первую строку выходного файла OUTPUT.TXT нужно вывести числа, которые соответствуют дням месяцев, в
которые Вася получил тройки, а во второй строке соответственно расположить числа месяца, в которые Вася получил
четверки. В третьей строке нужно вывести «YES», если Вася может рассчитывать на четверку и «NO» в противном случае.
В каждой строчке числа следует выводить в том же порядке, в котором они идут во входных данных. При выводе, числа
отделяются пробелом.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 19 31
1 4 16 19 31 2 4 16 2
YES
8 29 7 15 17 1
2 29 4 7 12 15 17 24 1 4 12 24
NO

Задача №6
Шахматы
(Время: 1 сек. Память: 16 Мб Сложность: 23%)
Совсем недавно Вася занялся программированием и решил реализовать
собственную программу для игры в шахматы. Но у него возникла проблема
определения правильности хода конем, который делает пользователь. Т.е. если
пользователь вводит значение «C7-D5», то программа должна определить это как
правильный ход, если же введено «E2-E4», то ход неверный. Так же нужно проверить
корректность записи ввода: если например, введено «D9-N5», то программа должна
определить данную запись как ошибочную. Помогите ему осуществить эту
проверку!

Входные данные
В единственной строке входного файла INPUT.TXT записан текст хода (непустая
строка), который указал пользователь. Пользователь не может ввести строку, длиннее
5 символов.

Выходные данные
В выходной файл OUTPUT.TXT нужно вывести «YES», если указанный ход конем верный, если же запись корректна
(в смысле правильности записи координат), но ход невозможен, то нужно вывести «NO». Если же координаты не
определены или заданы некорректно, то вывести сообщение «ERROR».

Примеры
№ INPUT.TXT OUTPUT.TXT
1 C7-D5 YES
2 E2-E4 NO
3 BSN ERROR

Задача №7
Золото племени АББА
(Время: 1 сек. Память: 16 Мб Сложность: 30%)
Главный вождь племени Абба не умеет считать. В обмен на одну из его земель вождь другого племени предложил ему
выбрать одну из трех куч с золотыми монетами. Но вождю племени Абба хочется получить наибольшее количество
https://acmp.ru/index.asp?main=alltasks 3/591
2/29/2020 Все задачи сайта

золотых монет. Помогите вождю сделать правильный выбор!

Входные данные
В первой строке входного файла INPUT.TXT записаны три натуральных числа через пробел. Каждое из чисел не
превышает 10100. Числа записаны без ведущих нулей.

Выходные данные
В выходной файл OUTPUT.TXT нужно вывести одно целое число — максимальное количество монет, которые может
взять вождь.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 5 7 3 7
2 987531 234 86364 987531
3 189285 283 4958439238923098349024 4958439238923098349024

Задача №8
Арифметика
(Время: 1 сек. Память: 16 Мб Сложность: 5%)
В прошлом году Вася пошел в школу и научился считать. В этом году он изучил таблицу умножения и теперь умеет
перемножать любые числа от 1 до 10 без ошибок. Друг Петя рассказал ему про системы счисления, отличные от
десятичной. В частности, про двоичную, восьмеричную и даже шестнадцатеричную. Теперь Вася без труда (но уже с
помощью листка и ручки) может перемножать числа от 1 до 10 и в этих системах, используя перевод из нестандартной
системы в десятичную и обратно из десятичной. Например, если Васе нужно перемножить числа 101 и 1001 в двоичной
системе, то он сначала эти числа переводит в десятичное представление следующим образом:
(101)2=1*22+0*21+1*20=4+0+1=5

(1001)2=1*23+0*22+0*21+1*20=8+0+0+1=9
После чего перемножение чисел 5 и 9 Вася с легкостью производит в десятичной системе счисления в уме и получает
число 45. Далее производится перевод из десятичной системы счисления в двоичную. Для этого Вася делит число 45 на 2
(порядок системы счисления), запоминая остатки от деления, до тех пор пока в результате не останется число 0:

Ответ составляется из полученных остатков от деления путем их записи в обратном порядке. Таким образом Вася
получает результат: (101)2 * (1001)2 = (101101)2. Но теперь Вася изучает таблицу умножения чисел от 1 до 100 в
десятичной системе счисления, а поскольку запомнить такую таблицу очень сложно, то Васе придется очень долго ее
зубрить. Составьте для Васи программу, которая поможет ему проверять свои знания.

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

Во входном файле INPUT.TXT записаны три натуральных числа A, B и C через пробел. Числа A и B ≤ 102, а C ≤ 106.

Выходные данные
В выходной файл нужно вывести YES в том случае, если A*B=C и вывести NO в противном случае.

Примеры

https://acmp.ru/index.asp?main=alltasks 4/591
2/29/2020 Все задачи сайта

№ INPUT.TXT OUTPUT.TXT
1 8 54 432 YES
2 16 19 777 NO

Задача №9
Домашнее задание
(Время: 1 сек. Память: 16 Мб Сложность: 27%)
Петя успевает по математике лучше всех в классе, поэтому учитель задал ему сложное домашнее задание, в котором
нужно в заданном наборе целых чисел найти сумму всех положительных элементов, затем найти где в заданной
последовательности находятся максимальный и минимальный элемент и вычислить произведение чисел, расположенных в
этой последовательности между ними. Так же известно, что минимальный и максимальный элемент встречаются в
заданном множестве чисел только один раз и не являются соседними. Поскольку задач такого рода учитель дал Пете около
ста, то Петя как сильный программист смог написать программу, которая по заданному набору чисел самостоятельно
находит решение. А Вам слабо?

Входные данные
В первой строке входного файла INPUT.TXT записано единственное число N – количество элементов массива. Вторая
строка содержит N целых чисел, представляющих заданный массив. Все элементы массива разделены пробелом. Каждое
из чисел во входном файле, в том числе и N, не превышает 102 по абсолютной величине.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести два числа, разделенных пробелом: сумму
положительных элементов и произведение чисел, расположенных между минимальным и максимальным элементами.
Значения суммы и произведения не превышают по модулю 3*104.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 17 -15
1
-7 5 -1 3 9
8 26 180
2
3 14 -9 4 -5 1 -12 4
10 36 5040
3
-5 1 2 3 4 5 6 7 8 -3

Задача №10
Уравнение
(Время: 1 сек. Память: 16 Мб Сложность: 17%)
Вася в школе изучил квадратные уравнения и понял, как они легко решаются путем вычисления дискриминанта. Но
Петя поведал ему о методе решения кубических уравнений вида A*X3 + B*X2 + C*X + D = 0. На факультативе по
математике Васе задали решить около ста уравнений как раз такого вида. Но, к сожалению, Вася забыл формулы, о
которых рассказывал ему Петя. Но Васе было известно, что все корни уравнений – целые числа и находятся на отрезке
[-100, 100]. Поэтому у Васи есть шанс найти их методом перебора, но для этого ему придется затратить уйму времени, т.к.
возможно необходимо будет осуществить перебор нескольких тысяч значений. Помогите Васе написать программу,
которая поможет ему найти корни кубических уравнений!

Входные данные
В единственной строке входного файла INPUT.TXT записаны 4 числа: A, B, C и D – целые коэффициенты кубического
уравнения. Каждый коэффициент по модулю меньше 32768, A ≠ 0.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести через пробел в порядке возрастания все корни
заданного кубического уравнения. Кратные корни следует выводить только один раз.

https://acmp.ru/index.asp?main=alltasks 5/591
2/29/2020 Все задачи сайта

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 -3 0 0 0 3
2 3 -15 18 0 0 2 3
3 1 -7 -33 135 -5 3 9

Задача №11
Зайчик
(Время: 1 сек. Память: 16 Мб Сложность: 55%)
В нашем зоопарке появился заяц. Его поместили в клетку, и чтобы ему не было скучно,
директор зоопарка распорядился поставить в его клетке лесенку. Теперь наш зайчик может
прыгать по лесенке вверх, перепрыгивая через ступеньки. Лестница имеет определенное
количество ступенек N. Заяц может одним прыжком преодолеть не более К ступенек. Для
разнообразия зайчик пытается каждый раз найти новый путь к вершине лестницы.
Директору любопытно, сколько различных способов есть у зайца добраться до вершины
лестницы при заданных значениях K и N. Помогите директору написать программу, которая
поможет вычислить это количество. Например, если K=3 и N=4, то существуют следующие
маршруты: 1+1+1+1, 1+1+2, 1+2+1, 2+1+1, 2+2, 1+3, 3+1. Т.е. при данных значениях у зайца
всего 7 различных маршрутов добраться до вершины лестницы.

Входные данные
В единственной строке входного файла INPUT.TXT записаны два натуральных числа K и N (1 ≤ K ≤ N ≤ 300). К -
максимальное количество ступенек, которое может преодолеть заяц одним прыжком, N – общее число ступенек лестницы.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести количество возможных вариантов различных
маршрутов зайца на верхнюю ступеньку лестницы без ведущих нулей.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 3 1
2 2 7 21
3 3 10 274

Задача №12
Дачники
(Время: 1 сек. Память: 16 Мб Сложность: 45%)
Всем известно, что дачники – народ странный, почти такой же, как и
программисты. Строят они свои дачи непонятно где, да и выращивают там
непонятно что и непонятно зачем. А уж как они туда добираются, это другая
история: кто на автобусе, кто на электричке, кто на автомобиле, ну а кто-то
вовсе пешком ходит от дома и до самого участка. Так что не стоит
удивляться, если вдруг Вы узнаете, что некое садоводческое товарищество
располагается на острове, а дачники добираются до него самолетом. Да еще
и на этом острове может не быть посадочной полосы, так что высадиться на
остров можно, только прыгая с парашютом (мы уж не рассматриваем то, как
они возвращаются с дач домой). Рассмотрим этот уникальный случай.
Пилот всегда старается осуществить высадку парашютистов таким образом,
чтобы дачники приземлялись как можно ближе к своим прямоугольным
участкам. Пилоту интересно знать: сколько дачников приземлится на свои
участки? Помогите ему решить эту задачу!

https://acmp.ru/index.asp?main=alltasks 6/591
2/29/2020 Все задачи сайта

Входные данные
В первой строке входного файла INPUT.TXT записано натуральное число N (1 ≤ N ≤ 1000) – количество дачников,
далее идут N строк, в каждой из которых описаны координаты каждого дачника и его участка:
X Y X1 Y1 X2 Y2 X3 Y3 X4 Y4
где
(X,Y) – координаты приземления парашютиста
(X1, Y1, X2, Y2, X3, Y3, X4,Y4) – координаты прямоугольного участка на плоскости, указанные последовательно.
Все координаты – целые числа, не превышающие 50000 по абсолютной величине

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

Пример
№ INPUT.TXT OUTPUT.TXT
3 2
6 6 3 6 6 9 8 7 5 4
1
13 5 9 2 9 8 12 8 12 2
3 2 2 1 2 3 6 3 6 1

Задача №13
Быки и коровы
(Время: 1 сек. Память: 16 Мб Сложность: 26%)
Петя и Вася часто играют в различные логические игры. Недавно Петя поведал Васе о новой игре «Быки и коровы» и
теперь они играют в эту игру сутками. Суть игры очень проста: Петя загадывает четырехзначное число, состоящее из
различных цифр. Вася отгадывает задуманное Петей число, перебирая возможные варианты. Каждый раз Вася предлагает
вариант своего числа, а Петя делает Васе подсказку: сообщает количество быков и коров, после чего Вася с учетом
подсказки продолжает отгадывание числа до тех пор, пока не отгадает. Быки – это количество цифр в предложенном Васей
числе, совпадающих по значению и стоящих в правильной позиции в задуманном Петей числе. Коровы – количество цифр,
совпадающих по значению, но находящихся в неверной позиции. Например, если Петя задумал число 5671, а Вася
предложил вариант 7251, то число быков равно 1 (только цифра 1 на своем месте), а число коров равно 2 (только цифры 7
и 5 не на своих местах). Петя силен в математике, но даже он может ошибаться. Помогите Пете написать программу,
которая бы по загаданному Петей и предложенному Васей числам сообщала количество быков и коров.

Входные данные
В единственной строке входного файла INPUT.TXT записано два четырехзначных натуральных числа A и B через
пробел, где А – загаданное Петей число, а В – предложенный Васей вариант.

Выходные данные
В выходной файл OUTPUT.TXT нужно вывести два целых числа через пробел — количество быков и коров.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 5671 7251 1 2
2 1234 1234 4 0
3 2034 6234 2 1

Задача №14
НОК
(Время: 1 сек. Память: 16 Мб Сложность: 19%)
Требуется написать программу, определяющую наименьшее общее кратное (НОК) чисел a и b.

https://acmp.ru/index.asp?main=alltasks 7/591
2/29/2020 Все задачи сайта

Входные данные
В единственной строке входного файла INPUT.TXT записаны два натуральных числа А и В через пробел, не
превышающих 46340.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число — НОК чисел А и В.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 36 27 108
2 39 65 195

Задача №15
Дороги
(Время: 1 сек. Память: 16 Мб Сложность: 18%)
В галактике «Milky Way» на планете «Snowflake» есть N городов, некоторые из которых соединены дорогами.
Император галактики «Milky Way» решил провести инвентаризацию дорог на планете «Snowflake». Но, как оказалось, он
не силен в математике, поэтому он просит вас сосчитать количество дорог. Требуется написать программу, помогающую
императору сосчитать количество дорог на планете «Snowflake».

Входные данные
В первой строке входного файла INPUT.TXT записано число N (0 ≤ N ≤ 100). В следующих N строках записано по N
чисел, каждое из которых является единичкой или ноликом. Причем, если в позиции (i, j) квадратной матрицы стоит
единичка, то i-ый и j-ый города соединены дорогами, а если нолик, то не соединены.

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести число, определяющее количество дорог на планете «Snowflake».

Пример
№ INPUT.TXT OUTPUT.TXT
5 3
0 1 0 0 0
1 0 1 1 0
1
0 1 0 0 0
0 1 0 0 0
0 0 0 0 0

Задача №16
Лесенка
(Время: 1 сек. Память: 16 Мб Сложность: 55%)
Лесенкой называется набор кубиков, в котором каждый более верхний слой
содержит кубиков меньше, чем предыдущий. Требуется написать программу,
вычисляющую число лесенок, которое можно построить из N кубиков.

Входные данные
Во входном файле INPUT.TXT записано натуральное число N (1 ≤ N ≤ 100) –
количество кубиков в лесенке.

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести число лесенок, которые можно построить из N кубиков.

https://acmp.ru/index.asp?main=alltasks 8/591
2/29/2020 Все задачи сайта

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 2
2 6 4

Задача №17
Поле чудес
(Время: 0,5 сек. Память: 16 Мб Сложность: 31%)
Для игры в «Поле чудес» используется круглый барабан, разделенный на сектора, и стрелка. В каждом секторе
записано некоторое число. В различных секторах может быть записано одно и то же число. Однажды ведущий игры решил
изменить правила. Он сам стал вращать барабан и называть игроку (который барабана не видел) все числа подряд в том
порядке, в котором на них указывала стрелка в процессе вращения барабана. Получилось так, что барабан сделал целое
число оборотов, то есть последний сектор совпал с первым. После этого, ведущий задал участнику вопрос: какое
наименьшее число секторов может быть на барабане? Требуется написать программу, отвечающую на этот вопрос
ведущего.

Входные данные
В первой строке входного файла INPUT.TXT записано число N – количество чисел, которое назвал ведущий (2 ≤ N ≤
30000). Во второй строке записано N чисел, на которые указывала стрелка в процессе вращения барабана. Первое число
всегда совпадает с последним (в конце стрелка указывает на тот же сектор, что и в начале). Числа, записанные в секторах
барабана – натуральные, не превышающие 32000.

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести одно число – минимальное число секторов, которое может быть
на барабане.

Примеры
№ INPUT.TXT OUTPUT.TXT
13 6
1
5 3 1 3 5 2 5 3 1 3 5 2 5
4 1
2
1 1 1 1
4 3
3
1 2 3 1

Задача №18
Факториал
(Время: 1 сек. Память: 16 Мб Сложность: 42%)
Требуется вычислить факториал целого числа N. Факториал обозначают как N! и вычисляют по формуле:
N! = 1 * 2 * 3 * … * (N-1) * N, причем 0! = 1.
Так же допустимо рекуррентное соотношение: N! = (N-1)! * N

Входные данные
В единственной строке входного файла INPUT.TXT записано одно целое неотрицательное число N (N < 1000).

Выходные данные
В выходной файл OUTPUT.TXT нужно вывести одно целое число — значение N!.

Примеры
№ INPUT.TXT OUTPUT.TXT
https://acmp.ru/index.asp?main=alltasks 9/591
2/29/2020 Все задачи сайта

1 1 1
2 3 6
3 5 120

Задача №19
Ферзь, ладья и конь
(Время: 1 сек. Память: 16 Мб Сложность: 29%)
На шахматной доске 8х8 расположены три фигуры: ферзь, ладья и конь. Требуется
определить количество пустых полей доски, которые находятся под боем. Для простоты
будем полагать, что фигуры могут «бить» через другие фигуры. Например, в
рассмотренной справа ситуации будем считать, что ферзь бьет D5 через ладью.

Входные данные
В единственной строке входного файла INPUT.TXT записаны через пробел
координаты расположения трех фигур: ферзя, ладьи и коня соответственно. Каждая
координата состоит из одного английского символа (от A до H) и одной цифры (от 1 до 8).

Выходные данные
В выходной файл OUTPUT.TXT нужно вывести количество пустых полей, которые бьют указанные во входных
данных фигуры.

Пример
№ INPUT.TXT OUTPUT.TXT
1 D1 D3 E5 29

Задача №20
Пилообразная последовательность
(Время: 2 сек. Память: 128 Мб Сложность: 38%)
Последовательность a1, a2, a3, … , an-1, an называется пилообразной, если она удовлетворяет одному из следующих
условий:

1) a1 < a2 > a3 < … > an-1 < an


2) a1 < a2 > a3 < … < an-1 > an
3) a1 > a2 < a3 > … < an-1 > an
4) a1 > a2 < a3 > … > an-1 < an

Дана числовая последовательность. Требуется определить длину самой длинной ее пилообразной непрерывной
подпоследовательности.

Входные данные
В первой строке входного файла INPUT.TXT записано натуральное число N – количество элементов
последовательности. Во второй строке файла через пробел записаны N элементов целочисленной последовательности {ai}.
Ограничения: N<106, |ai| < 32000.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число – длину самой длинной
непрерывной пилообразной подпоследовательности.

Пример
№ INPUT.TXT OUTPUT.TXT
1 3 2
https://acmp.ru/index.asp?main=alltasks 10/591
2/29/2020 Все задачи сайта
1 2 3
12 7
2
5 7 6 3 4 2 7 1 8 9 4 5
5 5
3
1 -2 3 -4 5

Задача №21
Зарплата
(Время: 1 сек. Память: 16 Мб Сложность: 4%)
В отделе работают 3 сотрудника, которые получают заработную плату в рублях. Требуется определить: на сколько
зарплата самого высокооплачиваемого из них отличается от самого низкооплачиваемого.

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

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести одно целое число — разницу между максимальной и
минимальной зарплатой.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 100 500 1000 900
2 36 11 20 25

Задача №22
Единицы
(Время: 1 сек. Память: 16 Мб Сложность: 16%)
На уроках информатики вас, наверное, учили переводить числа из одних систем счисления в другие и выполнять
другие подобные операции. Пришло время продемонстрировать эти знания. Найдите количество единиц в двоичной
записи заданного числа.

Входные данные
Во входном файле INPUT.TXT записано целое число n (0 ≤ n ≤ 2×109).

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число — количество двоичных
единиц в записи числа n.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 5 2
2 7 3

Задача №23
Гадание
(Время: 1 сек. Память: 16 Мб Сложность: 13%)
Как и многие другие девочки, Маша любит разные гадания. Некоторое время назад Маша узнала новый способ гадать
на числах – для какого-нибудь интересующего ее натурального числа n надо посчитать сумму всех чисел, на которые n

https://acmp.ru/index.asp?main=alltasks 11/591
2/29/2020 Все задачи сайта

делится без остатка. Маша не очень любит арифметику, и попросила вас написать программу, которая автоматизирует
процесс гадания.

Входные данные
В единственной строке входного файла INPUT.TXT записано натуральное число n (n ≤ 1000), которое Маша была
вынуждена сообщить.

Выходные данные
В выходной файл OUTPUT.TXT выведите сумму всех натуральных делителей числа n.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 6 12
2 10 18

Задача №24
Вырубка деревьев
(Время: 1 сек. Память: 16 Мб Сложность: 46%)
Король Флатландии решил вырубить некоторые деревья, растущие перед его дворцом. Деревья перед дворцом короля
посажены в ряд, всего там растет n деревьев, расстояния между соседними деревьями одинаковы.
После вырубки перед дворцом должно остаться m деревьев, и расстояния между соседними деревьями должны быть
одинаковыми. Помогите королю выяснить, сколько существует способов вырубки деревьев.
Требуется написать программу, которая по заданным числам n и m определит, сколько существует способов вырубки
некоторых из n деревьев так, чтобы после вырубки осталось m деревьев и соседние деревья находились на равном
расстоянии друг от друга.

Входные данные
Входной файл INPUT.TXT содержит два целых числа n и m (0 ≤ m , n ≤ 1000).

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число — искомое число способов.

Пример
№ INPUT.TXT OUTPUT.TXT
1 5 3 4

Пояснение к примеру
Если обозначить условно исходное расположение деревьев перед дворцом как «TTTTT», то возможные результаты
после вырубки следующие:

«TTT..», «.TTT.», «..TTT», «T.T.T».

Задача №25
Больше-меньше
(Время: 1 сек. Память: 16 Мб Сложность: 3%)
Одна из основных операций с числами – их сравнение. Мы подозреваем, что вы в совершенстве владеете этой
операцией и можете сравнивать любые числа, в том числе и целые. В данной задаче необходимо сравнить два целых числа.

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

https://acmp.ru/index.asp?main=alltasks 12/591
2/29/2020 Все задачи сайта

В двух строчках входного файла INPUT.TXT записаны числа A и B, не превосходящие по абсолютной величине 2×109.

Выходные данные
Запишите в выходной файл OUTPUT.TXT один символ "<", если A < B, ">", если A > B и "=", если A=B.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 <
1
7
-7 >
2
-12
13 =
3
13

Задача №26
Две окружности
(Время: 1 сек. Память: 16 Мб Сложность: 17%)
На плоскости даны две окружности. Требуется проверить, имеют ли они хотя бы одну общую точку.

Входные данные
Входной файл INPUT.TXT состоит из двух строк. На каждой строке записана информация об одной окружности –
координаты ее центра x и y (целые числа, по модулю не превосходящие 5000) и радиус (целое число 1 ≤ r ≤ 1000).

Выходные данные
В выходной файл OUTPUT.TXT выведите «YES», если окружности имеют хотя бы одну общую точку, и «NO» в
противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
0 0 2 YES
1
0 3 2
1 1 1 NO
2
4 4 1

Задача №27
Художник
(Время: 1 сек. Память: 16 Мб Сложность: 26%)
Известный художник решил написать новый шедевр. После многих дней усердной работы он захотел исследовать свое
творение. Художник вспомнил, что картина писалась следующим образом: сначала был взят белый холст, имеющий форму
прямоугольника шириной w и высотой h. Затем художник нарисовал на этом холсте n прямоугольников со сторонами,
параллельными сторонам холста и вершинами, расположенными в целочисленных координатах. Помогите художнику
определить площадь незакрашенной части холста.

Входные данные
Первая строка входного файла INPUT.TXT содержит два натуральных числа w и h (1 ≤ w, h ≤ 100). Во второй строке
записано целое число n (0 ≤ n ≤ 5000) – количество прямоугольников. Следующие n строк содержат информацию о всех
прямоугольниках. Каждая строка описывает один прямоугольник в виде четырех чисел x1, y1, x2, y2 , где (x1, y1) и (x2, y2) –
координаты левого верхнего и правого нижнего угла прямоугольника соответственно.

Выходные данные
Выведите в выходной файл OUTPUT.TXT одно целое число – площадь незакрашенной части холста.
https://acmp.ru/index.asp?main=alltasks 13/591
2/29/2020 Все задачи сайта

Примеры
№ INPUT.TXT OUTPUT.TXT
5 5 18
2
1
1 1 3 3
2 2 4 4
6 7 17
3
2 0 0 5 5
1 1 4 4
2 2 3 3

Пояснение к первому примеру

Задача №28
Симметрия
(Время: 1 сек. Память: 16 Мб Сложность: 19%)
Многие из вас, вероятно, знакомы с понятием симметрии относительно прямой. Пусть на плоскости расположена
прямая L и точка A. Точка B называется симметричной точке A относительно прямой L, если отрезок АВ перпендикулярен
прямой L и делится пополам точкой пересечения с ней. В частности, если точка А лежит на прямой L, то точка B
совпадает с точкой А.
Задана прямая L, параллельная одной из осей координат, и точка А. Найдите точку В, симметричную А относительно
L.

Входные данные
Первая строка входного файла INPUT.TXT содержит 4 числа: x1, y1, x2, y2 – координаты двух различных точек, через
которые проходит прямая L. Вторая строка входного файла содержит 2 числа xA и yA – координаты точки А. Все числа во
входном файле целые и не превосходят 108 по модулю.

Выходные данные
В выходной файл OUTPUT.TXT выведите числа xB и yB – координаты точки B.

Примеры
№ INPUT.TXT OUTPUT.TXT
0 0 0 1 -10 10
1
10 10
0 0 1 0 10 -10
2
10 10

Задача №29
Компьютерная игра

https://acmp.ru/index.asp?main=alltasks 14/591
2/29/2020 Все задачи сайта

(Время: 1 сек. Память: 16 Мб Сложность: 38%)


Вы можете вспомнить хоть одного своего знакомого до двадцатилетнего возраста, который в детстве не играл в
компьютерные игры? Если да, то может быть вы и сами не знакомы с этим развлечением? Впрочем, трудностей при
решении этой задачи это создать не должно.
Во многих старых играх с двумерной графикой можно столкнуться с подобной ситуацией. Какой-нибудь герой
прыгает по платформам (или островкам), которые висят в воздухе. Он должен перебраться от одного края экрана до
другого. При этом при прыжке с одной платформы на соседнюю, у героя уходит |y2-y1| единиц энергии, где y1 и y2 –
высоты, на которых расположены эти платформы. Кроме того, у героя есть суперприем, который позволяет перескочить
через платформу, но на это затрачивается 3*|y3-y1| единиц энергии. Конечно же, энергию следует расходовать
максимально экономно.
Предположим, что вам известны координаты всех платформ в порядке от левого края до правого. Сможете ли вы
найти, какое минимальное количество энергии потребуется герою, чтобы добраться с первой платформы до последней?

Входные данные
В первой строке входного файла INPUT.TXT записано количество платформ n (1 ≤ n ≤ 30000). Вторая строка содержит
n натуральных чисел, не превосходящих 30000 – высоты, на которых располагаются платформы.

Выходные данные
В выходной файл OUTPUT.TXT запишите единственное число – минимальное количество энергии, которую должен
потратить игрок на преодоление платформ (конечно же в предположении, что cheat-коды использовать нельзя).

Пример
№ INPUT.TXT OUTPUT.TXT
3 9
1
1 5 10
3 3
2
1 5 2

Задача №30
Часы
(Время: 1 сек. Память: 16 Мб Сложность: 30%)
Петя очень любит наблюдать за электронными часами. Он целыми днями смотрел на часы и считал, сколько раз
встречается каждая цифра. Через несколько месяцев он научился по любому промежутку времени говорить, сколько раз на
часах за это время встретится каждая цифра, и очень гордился этим.
Вася решил проверить Петю, но он не знает, как это сделать. Вася попросил Вас помочь ему. Напишите программу,
решающую эту задачу.

Входные данные
Первая и вторая строки входного файла INPUT.TXT содержат начало и конец промежутка времени соответственно.
Начальное время не превосходит конечное. Время задается в формате hh:mm:ss (0 ≤ hh < 24, 0 ≤ mm < 60, 0 ≤ ss < 60). hh,
mm, ss дополнены ведущими нулями до двух символов. Эти нули также учитываются при подсчете числа цифр.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать 10 строк. В i-ой строке должно быть написано, сколько раз
встречается цифра i-1.

Пример
№ INPUT.TXT OUTPUT.TXT
1 23:59:58 0
23:59:59 0
2
2

https://acmp.ru/index.asp?main=alltasks 15/591
2/29/2020 Все задачи сайта
0
4
0
0
1
3
13:24:09 5
13:24:40 45
45
45
36
2
3
3
3
3
4

Задача №31
Неподвижные точки
(Время: 1 сек. Память: 16 Мб Сложность: 47%)
Перестановкой P[1..n] размера n называется набор чисел от 1 до n, расположенных в определенном порядке. При этом
в нем должно присутствовать ровно один раз каждое из этих чисел. Примером перестановок являются 1,3,4,5,2 (для n=5) и
3,2,1 (для n=3), а, например, 1,2,3,4,5,1 перестановкой не является, так как число 1 встречается два раза.
Число i называется неподвижной точкой для перестановки P, если P[i] = i. Например, в перестановке 1,3,4,2,5 ровно
две неподвижных точки: 1 и 5, а перестановка 4,3,2,1 не имеет неподвижных точек.
Даны два числа: n и k. Найдите количество перестановок размера n с ровно k неподвижными точками.

Входные данные
Входной файл INPUT.TXT содержит два целых числа n (1 ≤ n ≤ 9) и k (0 ≤ k ≤ n).

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 5 2 20
2 9 6 168
3 2 1 0
4 9 0 133496

Задача №32
Годовой баланс
(Время: 1 сек. Память: 16 Мб Сложность: 35%)
В конторе «Рога и Копыта» подходит время подведения годового баланса. В бухгалтерию поступили сведения о том,
что, согласно документам, суммарный расход составил а рублей, a суммарный приход – b рублей. Поскольку с реальным
положением дел эти цифры все равно не имеют ничего общего, бухгалтер решил реализовать следующую свою идею. Как
известно, при наборе чисел на компьютере люди часто вводят цифры в неправильном порядке. Поэтому бухгалтер хочет
найти такой способ переставить цифры в числах a и b, чтобы в результате разность a-b (и, соответственно, количество
денег, которые он положит к себе в карман), была максимальна, а в случае можно будет сослаться на ошибку секретаря.
При этом нельзя забывать о знаке чисел и о том, что ноль не может быть первой цифрой числа, отличного от ноля.
Напишите программу, которая поможет бухгалтеру.

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

https://acmp.ru/index.asp?main=alltasks 16/591
2/29/2020 Все задачи сайта

Входной файл INPUT.TXT содержит два целых числа a и b (-109 < a,b < 109).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число – наибольшую разность чисел, первое из которых может
быть получено перестановкой цифр a, а второе – перестановкой цифр b.

Примеры
№ INPUT.TXT OUTPUT.TXT
18 71
1
10
1 33
2
-23

Задача №33
Два бандита
(Время: 1 сек. Память: 16 Мб Сложность: 4%)
Бандиты Гарри и Ларри отдыхали на природе. Решив пострелять, они выставили на бревно несколько банок из-под
кока-колы (не больше 10). Гарри начал простреливать банки по порядку, начиная с самой левой, Ларри — с самой правой.
В какой-то момент получилось так, что они одновременно прострелили одну и ту же последнюю банку.
Гарри возмутился и сказал, что Ларри должен ему кучу денег за то, что тот лишил его удовольствия прострелить
несколько банок. В ответ Ларри сказал, что Гарри должен ему еще больше денег по тем же причинам. Они стали спорить
кто кому сколько должен, но никто из них не помнил сколько банок было в начале, а искать простреленные банки по всей
округе было неохота. Каждый из них помнил только, сколько банок прострелил он сам.
Определите по этим данным, сколько банок не прострелил Гарри и сколько банок не прострелил Ларри.

Входные данные
В единственной строке входного файла INPUT.TXT записано 2 числа — количество банок, простреленных Гарри и
Ларри соответственно.

Выходные данные
В файл OUTPUT.TXT выведите 2 числа — количество банок, не простреленных Гарри и Ларри соответственно.

Пример
№ INPUT.TXT OUTPUT.TXT
1 4 7 6 3

Задача №34
Секретное сообщение
(Время: 0,2 сек. Память: 16 Мб Сложность: 36%)
На секретную базу в Арктике поступила шифровка – последовательность из n десятичных цифр. Она содержит номер
секретной базы в Антарктиде, который является последовательностью из k десятичных цифр. При этом для того, чтобы
отличить его от ненужной Вам информации, он повторен в шифровке хотя бы два раза (возможно, эти два вхождения
перекрываются).
Напишите программу, которая по шифровке и длине номера секретной базы определяет, содержит ли шифровка номер
базы. Учтите, что у базы может быть несколько номеров, и все они могут быть переданы в шифровке.

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

Первая строка входного файла INPUT.TXT содержит два целых числа: n (1 ≤ n ≤ 105) и k (1 ≤ k ≤ 5) – длину шифровки
и длину номера секретной базы соответственно. Вторая строка содержит n цифр – шифровку. Помните, что цифры в
шифровке не разделяются пробелами.

https://acmp.ru/index.asp?main=alltasks 17/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT выведите «YES», если шифровка содержит номер секретной базы, и «NO» в
противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
10 5 NO
1
0123456789
13 2 YES
2
0123400056789

Задача №35
Конечные автоматы
(Время: 1 сек. Память: 16 Мб Сложность: 11%)
Однажды известный профессор обнаружил описания k конечных автоматов. По его мнению, нетривиальность
конечного автомата, имеющего n состояний и m переходов, можно описать целым числом d = 19m + (n + 239)*(n + 366) / 2 .
Чем больше d, тем больший интерес для науки представляет изучение его свойств.
Помогите профессору вычислить нетривиальность имеющихся у него автоматов.

Входные данные
Первая строка входного файла INPUT.TXT содержит целое число k (1 ≤ k ≤ 10000) – количество конечных автоматов.
Следующие k строк содержат по два целых числа ni (0 ≤ ni ≤ 1000) и mi (0 ≤ mi ≤ 26ni2) – число состояний и переходов i-го
автомата.

Выходные данные
Выходной файл OUTPUT.TXT должен состоять из k строк. На i-й строке выходного файла выведите одно число –
нетривиальность i-го автомата.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 44344
2 0 48134
1 13 20 45699
5 23 49458
18 6
2 48767
2 15 20 1340237
1000 26000

Задача №36
Постулат Бертрана
(Время: 1 сек. Память: 16 Мб Сложность: 30%)
Постулат Бертрана (теорема Бертрана-Чебышева, теорема Чебышева) гласит, что для любого n > 1 найдется простое
число p в интервале n < p < 2n. Такая гипотеза была выдвинута в 1845 году французским математиком Джозефем
Бертраном (проверившим ее до n=3000000) и доказана в 1850 году Пафнутием Чебышевым. Раманужан в 1920 году нашел
более простое доказательство, а Эрдеш в 1932 – еще более простое.
Ваша задача состоит в том, чтобы решить несколько более общую задачу – а именно по числу n найти количество
простых чисел p из интервала n < p < 2n.
Напомним, что число называется простым, если оно делится только само на себя и на единицу.

Входные данные
https://acmp.ru/index.asp?main=alltasks 18/591
2/29/2020 Все задачи сайта

Входной файл INPUT.TXT содержит целое число n (2 ≤ n ≤ 50000).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 1
2 239 39
3 3000 353

Задача №37
Сжимающий оператор
(Время: 1 сек. Память: 16 Мб Сложность: 34%)
Оператором А, действующим из множества Х в множество Y (или просто оператором из X в Y) называется правило,
согласно которому каждому элементу x множества X сопоставляется элемент y=Ax из множества Y. Пусть X и Y –
множества точек на плоскости. Оператор A из X в Y называется сжимающим с коэффициентом q, где q – вещественное
число из полуинтервала [0, 1), если для любого x из X выполнено ||Ax|| ≤ q*||x|| (здесь ||x|| - норма точки x – расстояние от x
до начала координат). Проще говоря, оператор называется сжимающим с коэффициентом q если он сопоставляет каждой
точке точку, которая не менее, чем в q раз ближе к началу координат.
Для заданного оператора А требуется проверить является ли он сжимающим с коэффициентом q.

Входные данные
Первая строка входного файла INPUT.TXT содержит количество точек n (1 ≤ n ≤ 100) и число q (0 ≤ q < 1), заданное не
более чем с 3 знаками после десятичной точки. Следующие n строк содержат по 4 целых числа, по модулю не
превосходящих 1000, разделенные пробелами – координаты точки множества X и сопоставленной ей точки из множества
Y.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно слово: “Yes” если оператор является сжимающим с коэффициентом q и
“No” в противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 0.5 Yes
1 0 10 5 0
10 0 0 1
2 0.1 No
2 0 10 5 0
10 0 0 1
2 0.9 Yes
3 0 0 0 0
10 0 0 1

Задача №38
Игра - 2
(Время: 1 сек. Память: 16 Мб Сложность: 45%)
Вы любите играть в игры? Конечно, любите! Но про эту игру, возможно, ничего не знаете и не слышали даже. Что ж,
расскажем о новой игре. На доске написана последовательность n целых чисел. Играют двое. На очередном ходе игрок
выбирает число с правого или с левого края последовательности, затем это число стирается и последовательность
становится на одно число меньше, а ход переходит к противнику. Выигрывает тот, кто наберет в сумме больше. Написать
программу, определяющую победителя в конкретной игре, при условии, что игроки будут играть оптимально.

https://acmp.ru/index.asp?main=alltasks 19/591
2/29/2020 Все задачи сайта

Входные данные
В первой строке входного файла INPUT.TXT записано целое число n (0 < n < 100). Во второй строке через пробел
заданы n натуральных чисел, не превосходящих 1000.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести 1, если победит первый игрок, 2 – если
победит второй игрок и 0 – в случае ничьей.

Пример
№ INPUT.TXT OUTPUT.TXT
4 1
1
3 2 5 4
6 0
2
5 5 5 5 5 5
9 2
3
2 1 3 2 9 1 2 3 1
10 1
4
2 5 3 12 4 6 13 7 1 3

Задача №39
Волосатый бизнес
(Время: 1 сек. Память: 16 Мб Сложность: 32%)
Одного неформала выгнали с работы, и теперь ему надо как-то зарабатывать себе на жизнь. Поразмыслив, он решил,
что сможет иметь очень неплохие деньги на продаже собственных волос. Известно, что пункты приема покупают волосы
произвольной длины стоимостью С у.е. за каждый сантиметр. Так как волосяной рынок является очень динамичным, то
цена одного сантиметра волос меняется каждый день как и курс валют. Неформал является очень хорошим бизнес-
аналитиком. Он смог вычислить, какой будет цена одного сантиметра волос в каждый из ближайших N дней (для удобства
пронумеруем дни в хронологическом порядке от 0 до N-1). Теперь он хочет определить, в какие из этих дней ему следует
продавать волосы, чтобы по истечению всех N дней заработать максимальное количество денег. Заметим, что волосы у
неформала растут только ночью и вырастают на 1 сантиметр за ночь. Следует также учесть, что до 0-го дня неформал с
горя подстригся наголо и к 0-му дню длина его волос составляла 1 сантиметр.

Входные данные
В первой строке входного файла INPUT.TXT записано целое число N (0 < N ≤ 100). Во второй строке через пробел
заданы N натуральных чисел, не превосходящих 100, соответствующие стоимости C[i] 1 сантиметра волос за каждый i-й
день.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести максимальную денежную сумму, которую
может заработать неформал за N дней.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 380
1
73 31 96 24 46
10 100
2
1 2 3 4 5 6 7 8 9 10
10 55
3
10 9 8 7 6 5 4 3 2 1

Задача №40
2^N
https://acmp.ru/index.asp?main=alltasks 20/591
2/29/2020 Все задачи сайта

(Время: 1 сек. Память: 16 Мб Сложность: 30%)


Необходимо вычислить значение 2n.

Входные данные
В единственной строке входного файла INPUT.TXT записано натуральное число n (0 < n < 1000).

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

В единственную строку выходного файла OUTPUT.TXT нужно вывести значение 2n.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 8
2 10 1024
3 72 4722366482869645213696

Задача №41
Сортировка подсчетом
(Время: 2 сек. Память: 128 Мб Сложность: 29%)
На планете «Аурон» атмосфера практически отсутствует, поэтому она известна своими перепадами температур в
различных точках. Известно, что эти перепады колеблются от -100 до 100 градусов. Нашим специалистам удалось
выяснить значения температур в N точках этой планеты. К сожалению, эти значения вычислены с большими
погрешностями, поэтому их решили округлить до целых чисел. Хотелось бы наглядно видеть участки с повышенной и
пониженной температурой. Вам требуется помочь. Вы должны упорядочить температуры участков по неубыванию.

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

В первой строке входного файла INPUT.TXT задано натуральное число N - количество участков (N ≤ 106). Во второй
строке через пробел записаны целые значения температур этих участков, не превосходящие 100 по абсолютной величине.

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

Примеры
№ INPUT.TXT OUTPUT.TXT
3 -20 9 14
1
9 -20 14
10 4 5 7 11 12 18 32 48 74 92
2
12 7 92 5 18 4 32 48 11 74

Задача №42
Драконы
(Время: 1 сек. Память: 16 Мб Сложность: 40%)
Известно, что у дракона может быть несколько голов и его сила определяется числом голов. Но как определить силу
драконьей стаи, в которой несколько драконов и у каждого из них определенное число голов? Вероятно, вы считаете, что
это значение вычисляется как сумма всех голов? Это далеко не так, иначе было бы слишком просто вычислить силу
драконьей стаи. Оказывается, что искомое значение равно произведению значений числа голов каждого из драконов.
Например, если в стае 3 дракона, у которых 3, 4 и 5 голов соответственно, то сила равна 3*4*5 = 60. Предположим, что нам
известно суммарное количество голов драконьей стаи, как нам вычислить максимально возможное значение силы этого
логова драконов? Именно эту задачу Вам и предстоит решить.

Входные данные
https://acmp.ru/index.asp?main=alltasks 21/591
2/29/2020 Все задачи сайта

В единственной строке входного файла INPUT.TXT записано натуральное число N (0 < N < 100) – количество голов
драконьей стаи.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести максимально возможное значение силы,
которая может быть у стаи драконов из N голов.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 6 9
2 8 18
3 13 108

Задача №43
Нули
(Время: 1 сек. Память: 16 Мб Сложность: 16%)
Требуется найти самую длинную непрерывную цепочку нулей в последовательности нулей и единиц.

Входные данные
В единственной строке входного файла INPUT.TXT записана последовательность нулей и единиц (без пробелов).
Суммарное количество цифр от 1 до 100.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести искомую длину цепочки нулей.

Пример
№ INPUT.TXT OUTPUT.TXT
1 00101110000110 4

Задача №44
Стрелки
(Время: 1 сек. Память: 16 Мб Сложность: 20%)
Задана последовательность, состоящая только из символов ‘>’, ‘<’ и ‘-‘. Требуется найти количество стрел, которые
спрятаны в этой последовательности. Стрелы – это подстроки вида ‘>>-->’ и ‘<--<<’.

Входные данные
В первой строке входного файла INPUT.TXT записана строка, состоящая из символов ‘>’, ‘<’ и ‘-‘ (без пробелов).
Строка состоит не более, чем из 250 символов.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести искомое количество стрелок.

Пример
№ INPUT.TXT OUTPUT.TXT
1 <<<<>>--><--<<--<<>>>--><<<<< 4

Задача №45
Произведение цифр
(Время: 1 сек. Память: 16 Мб Сложность: 42%)
https://acmp.ru/index.asp?main=alltasks 22/591
2/29/2020 Все задачи сайта

Требуется найти наименьшее натуральное число Q такое, что произведение его цифр равно заданному числу N.

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

В единственной строке входного файла INPUT.TXT записано одно целое число N (0 ≤ N ≤ 109).

Выходные данные
В выходной файл OUTPUT.TXT нужно вывести искомое число Q. В том случае, если такого числа не существует,
следует вывести -1.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 10 25
2 13 -1
3 8 8
4 90 259

Задача №46
Число E
(Время: 1 сек. Память: 16 Мб Сложность: 20%)
Выведите в выходной файл округленное до n знаков после десятичной точки число E. В данной задаче будем считать,
что число Е в точности равно 2.7182818284590452353602875.

Входные данные
Входной файл INPUT.TXT содержит целое число n (0 ≤ n ≤ 25).

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Пример
№ INPUT.TXT OUTPUT.TXT
1 0 3
2 25 2.7182818284590452353602875
3 13 2.7182818284590

Задача №47
Наилучший делитель
(Время: 1 сек. Память: 16 Мб Сложность: 26%)
Будем говорить, что число a лучше числа b, если сумма цифр a больше суммы цифр числа b, а в случае равенства сумм
их цифр, если число a меньше числа b. Например, число 124 лучше числа 123, так как у первого из них сумма цифр равна
семи, а у второго – шести. Также, число 3 лучше числа 111, так как у них равны суммы цифр, но первое из них меньше.
Дано число n. Найдите такой его делитель (само число n и единица считаются делителями числа n), который лучше
любого другого делителя числа n.

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

Первая строка входного файла содержит целое число n (1 ≤ n ≤ 105).

Выходные данные
В выходной файл выведите ответ на задачу.

https://acmp.ru/index.asp?main=alltasks 23/591
2/29/2020 Все задачи сайта

Пример
№ INPUT.TXT OUTPUT.TXT
1 10 5
2 239 239

Задача №48
Наихудший делитель
(Время: 1 сек. Память: 16 Мб Сложность: 23%)
Будем говорить, что число a лучше числа b, если сумма цифр a больше суммы цифр числа b, а в случае равенства сумм
их цифр, если число a меньше числа b. Например, число 124 лучше числа 123, так как у первого из них сумма цифр равна
семи, а у второго — шести. Также, число 3 лучше числа 111, так как у них равны суммы цифр, но первое из них меньше.
Дано число n. Найдите такой его делитель d (само число n и единица считаются делителями числа n), что любой
другой делитель c числа n лучше, чем d.

Входные данные
Первая строка входного файла INPUT.TXT содержит целое число n (1 ≤ n ≤ 105000).

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 10 10
2 239 1

Задача №49
Шаблоны
(Время: 1 сек. Память: 16 Мб Сложность: 35%)
Шаблоном размера n назовем строку длины n, каждый из символов которой входит в множество {0, 1, 2, 3, 4, 5, 6, 7, 8,
9, a, b, c, d, e, f, g, ?}. Шаблоны преобразуются в строки из цифр по следующим правилам:
• символы от 0 до 9 могут быть преобразованы только сами в себя;
• символ a может преобразован в любой из символов 0,1, 2, 3;
• символ b может преобразован в любой из символов 1,2,3,4;
• символ c может преобразован в любой из символов 2,3,4,5;
• символ d может преобразован в любой из символов 3,4,5,6;
• символ e может преобразован в любой из символов 4,5,6,7;
• символ f может преобразован в любой из символов 5,6,7,8;
• символ g может преобразован в любой из символов 6,7,8,9;
• символ ? может преобразован в любой из символов от 0 до 9;
Даны два шаблона: p1 и p2. Рассмотрим множество S1 строк, которые могут быть получены из p1 по описанным
правилам, и множество S2 строк, которые могут быть получены из p2. Необходимо найти количество строк, входящих в
оба этих множества.

Входные данные
Первая строка входного файла INPUT.TXT содержит шаблон p1, вторая — шаблон p2. Шаблоны имеют одинаковый
положительный размер, не больше 9.

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

https://acmp.ru/index.asp?main=alltasks 24/591
2/29/2020 Все задачи сайта

Примеры
№ INPUT.TXT OUTPUT.TXT
??? 64
1
abc
??? 1
2
000
abc 0
3
999

Задача №50
Строки
(Время: 1 сек. Память: 16 Мб Сложность: 29%)
Циклическим сдвигом строки s называется строка sksk+1sk+2…s|s|s1s2…sk-1 для некоторого k, здесь |s| - длина строки s.
Подстрокой строки s называется строка sisi+1…sj-1sj для некоторых i и j. Вам даны две строки a и b. Выведите количество
подстрок строки a, являющихся циклическими сдвигами строки b.

Входные данные
Первая строка входного файла INPUT.TXT содержит строку a (1 ≤ |a| ≤ 1000). Во второй строке входного файла
записана строка b (1 ≤ |b| ≤ min(100,|a|)). Обе строки состоят только из символов английского алфавита и цифр.

Выходные данные
В выходной файл OUTPUT.TXT выведите целое число – ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
abcabc 4
1
abc
abcabc 0
2
acb
aaaaaaa 6
3
aa
aAaa8aaAa 4
4
aAa

Задача №51
Факториалы!!!
(Время: 1 сек. Память: 16 Мб Сложность: 26%)
Определение 1:
n!!...!=n(n-k)(n-2k)...(n mod k), если n не делится на k,
n!!...!=n(n-k)(n-2k)...k, если n делится на k (знаков ! в обоих случаях k штук).
Определение 2:
X mod Y — остаток от деления X на Y.
Например, 10 mod 3 = 1; 3! = 3•2•1; 10!!! = 10•7•4•1;
Мы по заданным n и k смогли вычислить значение выражения из определения 1. А вам слабо?

Входные данные
Во входном файле INPUT.TXT содержится ровно одна строка. Сначала – целое число n, (1 ≤ n ≤ 10) , затем ровно один
пробел, затем k восклицательных знаков (1 ≤ k ≤ 20).

https://acmp.ru/index.asp?main=alltasks 25/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – значение n!!..! .

Примеры
№ INPUT.TXT OUTPUT.TXT
1 10 !!! 280
2 9 !! 945
3 3 ! 6

Задача №52
Счастливый билет
(Время: 1 сек. Память: 16 Мб Сложность: 12%)
Вы пользуетесь общественным транспортом? Вероятно, вы расплачивались за проезд и получали билет с номером.
Счастливым билетом называют такой билет с шестизначным номером, где сумма первых трех цифр равна сумме
последних трех. Т.е. билет с номером 385916 – счастливый, т.к. 3+8+5=9+1+6. Вам требуется написать программу, которая
проверяет счастливость билета.

Входные данные
В единственной строке входного файла INPUT.TXT записано одно целое число N (0 ≤ N < 106).

Выходные данные
В выходной файл OUTPUT.TXT нужно вывести «YES», если билет с номером N счастливый и «NO» в противном
случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 385916 YES
2 123456 NO

Задача №53
Раскраска таблицы умножения
(Время: 1 сек. Память: 16 Мб Сложность: 22%)
Таблицей умножения назовем таблицу размера n строк на m столбцов, в которой на пересечении i-ой строки и j-ого
столбца стоит число i∙j (строки и столбцы нумеруются с единицы).
В одной из математических школ было решено провести педагогический эксперимент. Для того, чтобы ученикам было
проще запоминать таблицу умножения, некоторые числа в ней будут покрашены в красный, некоторые - в синий, а
некоторые - в зеленый цвет (оставшиеся числа будут черными).
Процесс покраски чисел можно условно разбить на четыре этапа. На первом этапе все числа красятся в черный цвет.
На втором - все четные числа красятся в красный цвет, на третьем – все числа, делящиеся на 3, красятся в зеленый цвет, на
четвертом - все числа, делящиеся на 5, красятся в синий цвет.
Директор школы хочет знать, какое количество картриджей для принтеров необходимо закупить для печати таблиц.
Поэтому ему необходима информация о том, сколько чисел какого цвета будет в одной раскрашенной таблице умножения n
на m. Напишите программу, решающую задачу подсчета соответствующих количеств.

Входные данные
Входной файл INPUT.TXT содержит два натуральных числа n и m (1 ≤ n,m ≤ 1000).

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

https://acmp.ru/index.asp?main=alltasks 26/591
2/29/2020 Все задачи сайта

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

Пример
№ INPUT.TXT OUTPUT.TXT
10 10 RED : 21
GREEN : 39
1
BLUE : 36
BLACK : 4
5 2 RED : 5
GREEN : 2
2
BLUE : 2
BLACK : 1

Задача №54
Теория игр
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Одним из интересных объектов, изучаемых в теории игр, являются так называемые антагонистические игры двух лиц.
Такие игры характеризуются множеством X стратегий первого игрока, множеством Y стратегий второго игрока и
функцией выигрыша K(x, y) (x из X, y из Y). Если множества стратегий X и Y конечны, то такую игру принято называть
матричной, так как функцию выигрыша K в этом случае удобно задавать матрицей.
Рассмотрим матричную игру, в которой X = {1,…,n}, Y = {1,…,m}. Матрицу выигрышей обозначим символом K.
Нижним значением игры назовем число maxi=1..nminj=1..m Kij . Верхним значением игры назовем число minj=1..mmaxi=1..n
Kij. Отметим также, что игры, у которых нижнее и верхнее значение совпадают, называются играми с седловой точкой.
Задана матрица выигрышей K для некоторой матричной игры. Найдите ее верхнее и нижнее значение.

Входные данные
Первая строка входного файла INPUT.TXT содержит целые числа n и m (1 ≤ n,m ≤ 100). Далее следуют n строк по m
чисел в каждой. j-ое число i-ой строки равно Kij . Все Kij по модулю не превосходят 1000.

Выходные данные
В выходной файл OUTPUT.TXT выведите нижнее и верхнее значение игры через пробел.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 3 -2 2
4 -1 -3
1
-2 1 3
0 2 -3
3 4 -1 1
-1 0 2 1
2
-2 0 1 0
2 1 -1 -2

Задача №55
Фонарики
(Время: 1 сек. Память: 16 Мб Сложность: 31%)
«Одна голова хорошо, а две лучше. Одна лампочка хорошо, а две лучше!» - подумал Миша, и решил собрать фонарик
с двумя лампочками. Теперь он хочет узнать, насколько фонарик с двумя лампочками лучше, чем фонарик с одной.
Заметим, что лампочки в фонаре с двумя лампочками отличаются от лампочки в фонаре с одной лампочкой. Для этого
Миша посветил фонариком на стену, и каждая из лампочек осветила на ней круг.

https://acmp.ru/index.asp?main=alltasks 27/591
2/29/2020 Все задачи сайта

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

Входные данные
В первых двух строчках входного файла INPUT.TXT содержатся координаты (x1,y1) и (x2,y2) - центры кругов от
лампочек собранного Мишей фонарика. В третьей строке задан радиус r описанных выше кругов, а четвертая строка
содержит площадь освещения s фонариком из одной лампочки. Все числа целые и удовлетворяют следующим
ограничениям: 1 ≤ x1,y1,x2,y2,r ≤ 100, 1 ≤ s ≤ 105. Так же заметим, что площади, освещаемые разными фонариками,
отличаются друг от друга более чем на 10-3.

Выходные данные
В выходной файл OUTPUT.TXT выведите «YES», если Мишин фонарик лучше старого (т.е. освещает большую
площадь) и «NO» в противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 YES
3 4
1
2
22
1 1 NO
100 100
2
1
7

Задача №56
Jивой Jурнал
(Время: 1 сек. Память: 16 Мб Сложность: 29%)
Программист Саша участвует в создании блог-сервиса Jивой Jурнал. Планируется, что этот сервис будет
предоставлять гораздо больше возможностей, чем известный всем LiveJournal. В настоящее же время проблему составляет
реализация всех базовых возможностей LiveJournal'а. Одной из таких возможностей является поддержка списков друзей
для пользователей.
Заданы: список пользователей, являющихся друзьями данного пользователя, и список пользователей, у которых
данный пользователь содержится в списке друзей.
Необходимо получить список друзей данного пользователя (Friends), список его взаимных друзей (Mutual Friends), и
список тех пользователей, у кого данный пользователь содержится в списке друзей, но которые не являются его
взаимными друзьями (Also Friend of).

Входные данные
Первая строка входного файла INPUT.TXT содержит число n (0 ≤ n ≤ 200) друзей данного пользователя. Последующие
n строк содержат каждая по одному имени пользователя, который является другом данного. (n + 2)-ая строка содержит
число m (0 ≤ m ≤ 200) пользователей, у которых данный содержится в списке друзей. Далее заданы имена пользователей, у
которых данный находится в списке друзей. Эти пользователи заданы в том же формате, что и друзья данного.
Имена пользователей - строки длиной от 1 до 20 символов, содержащие только строчные буквы английского алфавита
и символы тире ("-"). Каждый пользователь указан не более одного раза в каждом из списков.

Выходные данные
В выходной файл OUTPUT.TXT следует вывести список друзей данного пользователя (Friends), список его взаимных
друзей (Mutual Friends), и список тех пользователей, у кого данный пользователь содержится в списке друзей, но которые
не являются его взаимными друзьями (Also Friend of). В каждом списке пользователи должны быть отсортированы по
алфавиту. Следуйте формату, приведенному в примерах.
https://acmp.ru/index.asp?main=alltasks 28/591
2/29/2020 Все задачи сайта

Примеры
№ INPUT.TXT OUTPUT.TXT
3 Friends: bill-hates, ivan-ivanov, vasya-pupkin
vasya-pupkin Mutual Friends: vasya-pupkin
bill-hates Also Friend of: destroyer
1 ivan-ivanov
2
vasya-pupkin
destroyer
0 Friends:
2 0 Mutual Friends:
Also Friend of:

Задача №57
Компьютерная сеть
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Компания «Маша и медведи» является самым крупным интернет-провайдером во всем лесу. Именно поэтому, с
просьбой подключить их к интернету обратились N поросят. Домики поросят расположены в различных точках (xi, yi).
Ближайшая точка подключения расположена в точке (xnet, ynet).
Для того чтобы подключиться к сети всем N поросятам необходимо:
1. провести провод от точки подключения до домика одного из поросят;
2. от подключенного поросенка провести провода ко всем остальным.
При этом провода могут при необходимости пересекаться.
Поросята платят деньги в зависимости от длины провода. Количество денег у них ограничено и составляет p тугриков.
Они хотят определить: хватит ли им денег на подключение? Так же известно, что единица длины провода стоит c тугриков.
Помогите им сделать необходимые расчеты!

Входные данные
В первой строке входного файла INPUT.TXT находится числа N, с и p – целые числа со следующими ограничениями:
1 ≤ N ≤ 103, 0 ≤ c ≤ 104, 0 ≤ p ≤ 1015 . В следующих N строках находятся координаты домов поросят (xi; yi). В последней
строке записаны координаты точки соединения (xnet, ynet). Все координаты целые и не превосходят 1000 по модулю.
Гарантируется, что необходимая для подключения суммарная длина проводов либо целая, либо отличается от целой более
чем на 10-2.

Выходные данные
В выходной файл OUTPUT.TXT следует вывести «YES», если у поросят достаточно денег для подключения и «NO» в
противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 2 6 YES
0 0
1 1 0
0 1
-1 0
3 1 5 NO
1 1
2 2 2
3 3
4 4

Задача №58
Проверка на симпатичность
https://acmp.ru/index.asp?main=alltasks 29/591
2/29/2020 Все задачи сайта

(Время: 1 сек. Память: 16 Мб Сложность: 28%)


Рассмотрим таблицу, содержащую n строк и m столбцов, в каждой клетке которой расположен ноль или единица.
Назовем такую таблицу симпатичной, если в ней нет ни одного квадрата 2 на 2, заполненного целиком нулями или
целиком единицами.
Так, например, таблица 4 на 4, расположенная слева, является симпатичной, а расположенная справа таблица 3 на 3 -
не является.

Задано несколько таблиц. Необходимо для каждой из них выяснить, является ли она симпатичной.

Входные данные
Первая строка входного файла INPUT.TXT содержит количество t (1 ≤ t ≤ 10) наборов входных данных. Далее следуют
описания этих наборов. Описание каждого набора состоит из строки, содержащей числа n и m (1 ≤ n,m ≤ 100), и n строк,
каждая из которых содержит по m чисел, разделенных пробелами. j-ое число в i+1-ой строке описания набора входных
данных - элемент aij соответствующей таблицы. Гарантируется, что все aij равны либо нулю, либо единице.

Выходные данные
Для каждого набора входных данных выведите в файл OUTPUT.TXT единственную строку, содержащую слово
«YES», если соответствующая таблица является симпатичной, и слово «NO» - в противном случае.

Пример
№ INPUT.TXT OUTPUT.TXT
3 YES
1 1 YES
0 NO
4 4
1 0 1 0
1 1 1 0
1
0 1 0 1
0 0 0 0
3 3
0 0 1
0 0 1
1 1 1

Задача №59
Несложное вычисление
(Время: 1 сек. Память: 16 Мб Сложность: 25%)
Задано натуральное число n. Необходимо перевести его в k-ичную систему счисления и найти разность между
произведением и суммой его цифр в этой системе счисления.
Например, пусть n = 239, k = 8. Тогда представление числа n в восьмеричной системе счисления — 357, а ответ на
задачу равен 3 × 5 × 7 − (3 + 5 + 7) = 90.

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

Входной файл INPUT.TXT содержит два натуральных числа: n и k (1 ≤ n ≤ 109, 2 ≤ k ≤ 10). Оба этих числа заданы в
десятичной системе счисления.

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу (в десятичной системе счисления).

Примеры
https://acmp.ru/index.asp?main=alltasks 30/591
2/29/2020 Все задачи сайта

№ INPUT.TXT OUTPUT.TXT
1 239 8 90
2 1000000000 7 -34

Задача №60
Сверхпростые числа
(Время: 1 сек. Память: 16 Мб Сложность: 39%)
Простым числом будем называть натуральное число, большее единицы и делящееся только на единицу и на само себя.
Выпишем все простые числа в порядке возрастания и i-ое в этом порядке число обозначим pi (число 2 при этом будет
иметь номер 1). Так, например, p1 = 2, p2 = 3, p3 = 5, p52 = 239.

Скажем, что число pi является сверхпростым, если i = pk для некоторого k. Иными словами, сверхпростое число — это
простое число, номер которого в списке простых чисел, упорядоченном по возрастанию, является простым числом.
Дано натуральное число k. Упорядочим все сверхпростые числа по возрастанию. Найдите k-ое сверхпростое число в
этом порядке.

Входные данные
Входной файл INPUT.TXT содержит натуральное число k (1 ≤ k ≤ 500).

Выходные данные
В выходной файл OUTPUT.TXT выведите k-ое сверхпростое число.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 3
2 2 5
3 3 11
4 100 3911

Задача №61
Баскетбол
(Время: 1 сек. Память: 16 Мб Сложность: 5%)
Известны результаты каждой из 4х четвертей баскетбольной встречи. Нужно определить победителя матча. Побеждает
команда, набравшая больше очков в течение всего матча.

Входные данные
Входной файл INPUT.TXT содержит 4 строки, в каждой строке находится два целых числа a и b – итоговый счет в
соответствующей четверти. а – количество набранных очков за четверть первой командой, b – количество очков,
набранных за четверть второй командой. (0 ≤ a,b ≤ 100).

Выходные данные
В выходной файл OUTPUT.TXT выведите номер выигравшей команды, в случае ничьей следует вывести «DRAW».

Примеры
№ INPUT.TXT OUTPUT.TXT
26 17 1
13 15
1
19 11
14 16
2 14 15 2

https://acmp.ru/index.asp?main=alltasks 31/591
2/29/2020 Все задачи сайта
17 18
20 20
15 17
15 16 DRAW
18 17
3
10 12
14 12

Задача №62
Клетки
(Время: 1 сек. Память: 16 Мб Сложность: 15%)
Известно, что шахматная доска имеет размерность 8х8 и состоит из клеток 2х цветов,
например, черного и белого (см. рисунок). Каждая клетка имеет координату, состоящую из
буквы и цифры. Горизонтальное расположение клетки определяется буквой от A до H, а
вертикальное – цифрой от 1 до 8. Заметим, что клетка с координатой А1 имеет черный цвет.
Требуется по заданной координате определить цвет клетки.

Входные данные
В единственной строке входного файла INPUT.TXT записана координата клетки на
шахматной доске: всего два символа – буква и цифра (без пробелов).

Выходные данные
В выходной файл OUTPUT.TXT нужно вывести «WHITE», если указанная клетка имеет белый цвет и «BLACK», если
она черная.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 C3 BLACK
2 G8 WHITE

Задача №63
Загадка
(Время: 1 сек. Память: 16 Мб Сложность: 18%)
Петя и Катя – брат и сестра. Петя – студент, а Катя – школьница. Петя помогает Кате по математике. Он задумывает
два натуральных числа X и Y (X,Y≤1000), а Катя должна их отгадать. Для этого Петя делает две подсказки. Он называет
сумму этих чисел S и их произведение P. Помогите Кате отгадать задуманные Петей числа.

Входные данные
Входной файл INPUT.TXT содержит два натуральных числа S и P, разделенных пробелом.

Выходные данные
В выходной файл OUTPUT.TXT выведите два числа Х и Y, загаданные Петей. Числа следует вывести в порядке
неубывания своих значений, разделенные пробелом.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 4 4 2 2
2 5 6 2 3

Задача №64
Простой ряд
https://acmp.ru/index.asp?main=alltasks 32/591
2/29/2020 Все задачи сайта

(Время: 1 сек. Память: 16 Мб Сложность: 27%)


Простым числом называется натуральное число (большее 1), которое делится нацело только на 1 и на само себя.
Например, числа 2, 3, 5, 7, 11 и 23 - простые . Назовем простым рядом последовательность цифр, полученную следующим
образом: подряд идущие по возрастанию простые числа (начиная с 2) записываются друг за другом. Начало данного ряда
выглядит так: 23571113171923… Необходимо найти цифру, стоящую в простом ряду на указанном месте. Нумерация
позиций начинается с единицы.

Входные данные
В первой строке входного файла INPUT.TXT записано натуральное число M – количество тестов. Во второй строке
записано M чисел через пробел, каждое число – номер позиции в простом ряду (1 ≤ M ≤ 1000, 1 ≤ номер позиции ≤ 10000).

Выходные данные
В выходной файл OUTPUT.TXT для каждой позиции выведите цифру из простого ряда, стоящую на этой позиции.
Вывести следует M цифр в одной строке, не разделяя цифры пробелами.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 271
1
1 4 11
5 31139
2
2 5 6 8 12

Задача №65
Расстояние Хэмминга
(Время: 1 сек. Память: 16 Мб Сложность: 27%)
В связи с особенностями линии связи, используемой для передачи сообщений из пункта A в пункт B, каждый бит
принятого сообщения с вероятностью 0.001 содержит ошибку.
Из пункта A в пункт B было послано одно из n сообщений m1, m2, ..., mn. В пункте B было принято сообщение s.

Ваша задача заключается в определении наиболее вероятного исходного сообщения. Очевидно, что оно будет одним
из тех сообщений, расстояние Хэмминга между которым и строкой s минимально.
Расстоянием Хэмминга двух строк a и b одинаковой длины называется количество позиций, в которых эти строки
различаются (количество элементов в множестве {i | 1 ≤ i ≤ |a|, ai ≠ bi }).

Входные данные
Первая строка входного файла INPUT.TXT содержит s — принятое сообщение. Вторая строка содержит целое число n
— количество сообщений, которые могли быть отправлены. Следующие n строк содержат mi — эти сообщения. Длины
всех сообщений равны (|s| = |m1| = |m2| = ... = |mn|). Сообщения непустые, состоят только из символов 0 и 1. Размер
входного файла не превосходит 60 Кб.

Выходные данные
В первую строку выходного файла OUTPUT.TXT выведите k — количество сообщений, на которых достигается
минимум расстояния Хэмминга. Во вторую строку выведите в порядке возрастания k чисел — номера этих сообщений.

Пример
№ INPUT.TXT OUTPUT.TXT
010101 2
3 2 3
1 110011
011001
000111

https://acmp.ru/index.asp?main=alltasks 33/591
2/29/2020 Все задачи сайта

Задача №66
Клавиатура
(Время: 1 сек. Память: 16 Мб Сложность: 11%)
Для данной буквы английского алфавита нужно вывести справа стоящую букву на стандартной клавиатуре. При этом
клавиатура замкнута, т.е. справа от буквы «p» стоит буква «a», от буквы «l» стоит буква «z», а от буквы «m» — буква «q».

Входные данные
Первая строка входного файла INPUT.TXT содержит один символ — маленькую букву английского алфавита.

Выходные данные
В выходной файл OUTPUT.TXT следует вывести букву стоящую справа от заданной буквы, с учетом замкнутости
клавиатуры.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 q w
2 t y
3 p a
4 l z
5 m q

Задача №67
Маска подсетей
(Время: 0,4 сек. Память: 16 Мб Сложность: 33%)
Рассмотрим компьютерную сеть с настроенной TCP/IP маршрутизацией. Будем рассматривать некоторую ее
модификацию. А именно в этой сети находить N подсетей. Каждая подсеть характеризуется своей маской. Маска подсети
представляет собой 4 однобайтных числа, разделенных точкой. Причем для масок выполнено следующее свойство: если
представить маску в двоичном виде, то сначала она будет содержать k единиц, а потом q нулей, причем k + q = 32.
Например, 255.255.255.0 — маска подсети, а 192.168.0.1 — нет.
Поясним, как получается двоичное представление IP-адреса. Для этого числа, составляющие IP-адрес, представляются
в двоичной системе счисления (при этом каждое из них дополняется ведущими нулями до длины в 8 цифр), после чего
удаляются точки. Получившееся 32-битное число и есть двоичное представление IP-адреса. Например, для адреса
192.168.0.1 этот процесс выглядит так: 192.168.0.1 → 11000000.10101000.00000000.00000001 →
11000000101010000000000000000001. Таким образом, двоичным представлением IP-адреса 192.168.0.1 является
11000000101010000000000000000001.
Будем говорить, что два компьютера с IP1 и IP2 лежат в подсети, если IP1 /\ Mask = IP2 /\ Mask, где Mask — маска этой
подсети, а /\ — операция побитового логического «и». IP компьютера представляет собой так же 4 однобайтных числа,
разделенных точкой.
Вам даны M пар IP адресов компьютеров. Для каждой из них Вам надо определить, в скольких подсетях из заданных
они лежат.

Входные данные
В первой строке входного файла INPUT.TXT записано число N — количество подсетей. В следующих N строках
перечислены маски этих подсетей. В N + 2 строке находится число M (0 ≤ M ≤ 10000). В следующих M строках записаны
пары IP адресов, разделенных пробелом.

Выходные данные
Для каждой пары IP адресов в отдельной строке выходного файла OUTPUT.TXT выведите количество подсетей, в
которых лежат оба компьютера.

Пример

https://acmp.ru/index.asp?main=alltasks 34/591
2/29/2020 Все задачи сайта

№ INPUT.TXT OUTPUT.TXT
2 1
255.255.255.255 1
255.255.255.0 0
1 3
192.168.31.1 192.168.31.2
192.168.31.3 192.168.31.4
192.168.31.1 192.167.31.2

Задача №68
Дом - Школа - Дом
(Время: 1 сек. Память: 16 Мб Сложность: 21%)
Мальчик Вася каждый день ездит на метро. Утром он едет в школу, а вечером того же дня, обратно из школы, домой.
Для того, чтобы немного сэкономить, он покупает электронную смарт-карту на X поездок. Когда он хочет зайти в метро,
он прикладывает карту к турникету. Если на карте осталось ненулевое количество поездок, то турникет пропускает Васю и
списывает с карты одну поездку. Если же на карте не осталось поездок, то турникет не пропускает Васю, и он (Вася)
вынужден купить на этой же станции новую карту на X поездок и вновь пройти через турникет.
Вася заметил, что в связи с тем, что утром метро переполнено, покупать новую карту утром накладно по времени, и он
может опоздать в школу. В связи с этим он хочет понять: будет ли такой день, что с утра, поехав в школу, Вася обнаружит у
себя на карточке ноль поездок.
Вася больше никуда на метро не ездит и поэтому заходит в метро только на станции около дома и на станции около
школы.

Входные данные
Во входном файле INPUT.TXT содержится ровно 2 строки. В первой содержится слово «School» или «Home» в
зависимости от того, где первый раз Вася купил карточку на X поездок. Во второй строке содержится натуральное число
X, 1 ≤ X ≤ 1000.

Выходные данные
В выходной файл OUTPUT.TXT следует вывести «Yes», если будет такой день, что дома утром у Васи на карточке
окажется ноль поездок и «No» в противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
Home Yes
1
1
School No
2
2

Задача №69
N-угольное колесо
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
На одном известном автозаводе страны N-мерики главный инженер-рационализатор внес предложение вместо
круглых колес использовать колеса в форме правильных N-угольников. "При этом", — сказал он, "важным показателем
качества такого колеса будет разность между радиусом описанной окружности и радиусом вписанной окружности."
Причем колесо считается качественным, если его показатель качества меньше единицы.
Задано число N и длина A стороны N-угольного колеса. Необходимо определить: является ли такое колесо
качественным.

Входные данные
Входной файл INPUT.TXT содержит два натуральных числа: N и A (3 ≤ N ≤ 1000, 1 ≤ A ≤ 1000).

Выходные данные
https://acmp.ru/index.asp?main=alltasks 35/591
2/29/2020 Все задачи сайта

В выходной файл OUTPUT.TXT выведите «YES», если это качественное колесо и «NO» в противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 1 YES
2 239 566 NO

Задача №70
Степень строки
(Время: 1 сек. Память: 16 Мб Сложность: 30%)
Пусть задана строка s = s1s2...sn. Назовем ее k-ой (k > 0) степенью sk строку sk = s1s2 . . .sns1s2 . . .sn......s1s2...sn (k раз).
Например, третьей степенью строки abc является строка abcabcabc.
Корнем k степени из строки s называется такая строка t (если она существует), что tk = s.
Ваша задача состоит в том, чтобы написать программу, находящую степень строки или корень из нее.

Входные данные
Первая строка входного файла INPUT.TXT содержит строку s, она содержит только маленькие буквы английского
алфавита и имеет ненулевую длину, не превосходящую 1000.
Вторая строка входного файла содержит целое число k ≠ 0, |k| < 100001. Если k > 0, то необходимо найти k-ую степень
строки s, если k < 0, то необходимо найти корень степени |k| из s.

Выходные данные
В выходной файл OUTPUT.TXT выведите строку, являющуюся ответом на задачу. Если длина ответа превосходит
1023 символа, выведите только первые 1023 символа. Если искомой строки не существует — выведите NO SOLUTION.

Примеры
№ INPUT.TXT OUTPUT.TXT
abc abcabcabc
1
3
abcdabcd abcd
2
-2
abcd NO SOLUTION
3
-4

Задача №71
Две кучки камней
(Время: 1 сек. Память: 16 Мб Сложность: 43%)
У Вас есть N камней с массами W1, W2 , … WN. Требуется разложить камни на 2 кучки так, чтобы разница масс этих
кучек была минимальной.

Входные данные
В первой строке входного файла INPUT.TXT записано число N – количество камней (1 ≤ N ≤ 18). Во второй строке
через пробел перечислены массы камней W1, W2 , … WN (1 ≤ Wi ≤ 105).

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести одно неотрицательное целое число –
минимально возможную разницу между массами двух кучек.

Пример
https://acmp.ru/index.asp?main=alltasks 36/591
2/29/2020 Все задачи сайта

№ INPUT.TXT OUTPUT.TXT
5 3
1
5 8 13 27 14

Задача №72
Анаграмма
(Время: 1 сек. Память: 16 Мб Сложность: 45%)
Пусть задано некоторое слово, состоящее из букв английского алфавита длиной не более 80 символов (например,
“WORD”). Рассмотрим набор возможных перестановок, состоящих из букв данного слова (например, “RDOW”, “WODR”
и т.д.). Требуется выбрать из этого множества слово, следующее по алфавиту за исходным.

Входные данные
В единственной строке входного файла INPUT.TXT записано слово, не последнее по алфавиту среди возможных его
перестановок.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести следующее слово по алфавиту.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 abdc acbd
2 word wrdo

Задача №73
Расшифровка
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Рассмотрим работу простейшего шифра. Шифруемое сообщение состоит из английских букв, записанных в нижнем
регистре и символа пробела. Шифрование происходит посимвольно. Каждой букве ставим в соответствие число: a – 1, b –
2, … , z – 26, ‘ ‘ – 27. Далее индекс символа складывается с номером в сообщении по модулю 27, а результат сложения
представляется в системе счисления с основанием 27 (0, 1, …, Q в верхнем регистре).
Необходимо написать дешифратор.

Входные данные
В единственной строке входного файла INPUT.TXT содержится закодированная строка, длиной от 1 до 255 символов.
Строка записана в верхнем регистре.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести расшифровку заданной строки, при этом
символы английского алфавита следует выводить в нижнем регистре.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 L7MO test
2 576J9FLF decoding

Задача №74
Прыжки с шестом
(Время: 1 сек. Память: 16 Мб Сложность: 38%)
В соревнованиях по прыжкам с шестом было замечено одно интересное явление: на очередном этапе соревнований
успешные и неуспешные попытки прыжков чередовались: успешный, неуспешный, успешный, неуспешный и т.д. (первый
https://acmp.ru/index.asp?main=alltasks 37/591
2/29/2020 Все задачи сайта

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

Входные данные
В единственной строке входного файла INPUT.TXT содержатся два натуральных числа: общее число спортсменов N и
порядковый номер спортсмена в стартовом списке M. Числа разделены пробелом (1 ≤ M,N ≤ 109).

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести каким по счету спортсмен M выбыл из
соревнований. Если это победитель состязания, то выводится число N.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 4 2 1
2 4 1 4
3 9 5 7

Задача №75
Сумма произведений
(Время: 1 сек. Память: 16 Мб Сложность: 48%)
Требуется вычислить сумму произведений цифр каждого N-значного числа. При этом следует учесть, что если в числе
встречается цифра 0, то произведение его цифр равно нулю. Для N=3 искомая сумма представлена следующим рядом:
S = 1*0*0 + 1*0*1 + 1*0*2 + … + 9*9*8 + 9*9*9 = 91125

Входные данные
В единственной строке входного файла INPUT.TXT записано натуральное число N (N < 1000).

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число — сумму произведений
цифр всех N-значных чисел.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 45
2 3 91125
3 5 184528125

Задача №76
Музей
(Время: 1 сек. Память: 16 Мб Сложность: 50%)
В музее регистрируется в течение суток время прихода и ухода каждого посетителя. Таким образом, за день получены
N пар значений, где первое значение в паре показывает время прихода посетителя и второе значение - время его ухода.
Требуется найти максимальное число посетителей, которые находились в музее одновременно.

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

https://acmp.ru/index.asp?main=alltasks 38/591
2/29/2020 Все задачи сайта

В первой строке входного файла INPUT.TXT записано натуральное число N (N < 105) – количество зафиксированных
посетителей в музее в течении суток. Далее, идут N строк с информацией о времени визитов посетителей: в каждой строке
располагается отрезок времени посещения в формате «ЧЧ:ММ ЧЧ:ММ» (00:00 ≤ ЧЧ:ММ ≤ 23:59).

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число — максимальное
количество посетителей, одновременно находящихся в музее.

Пример
№ INPUT.TXT OUTPUT.TXT
6 4
09:00 10:07
10:20 11:35
1 12:00 17:00
11:00 11:30
11:20 12:30
11:30 18:15

Задача №77
Нолики
(Время: 1 сек. Память: 16 Мб Сложность: 63%)
Для заданных натуральных чисел N и K требуется вычислить количество чисел от 1 до N, имеющих в двоичной
записи ровно K нулей.
Например, если N=8 и K=1, то мы можем записать все числа от 1 до 8 в двоичной системе счисления:
1, 10, 11, 100, 101, 110, 111 и 1000.
Откуда видно, что только числа 10, 101 и 110 имеют ровно один ноль в записи, т.е. правильный ответ – 3.

Входные данные
В единственной строке входного файла INPUT.TXT записано два натуральных числа через пробел N и K, не
превышающих 109.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число — количество чисел от 1 до
N с K нулями в двоичном представлении.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 8 1 3
2 13 2 4
3 1000 5 210

Задача №78
Бутылки
(Время: 1 сек. Память: 16 Мб Сложность: 48%)
Группа программистов собралась в понедельник и на все свои деньги купила «Sprite» в бутылках емкостью по 0.25 л.,
не забыв взять сдачу.
Во вторник они сдали пустую посуду, добавили оставшуюся сдачу и вновь купили столько таких же бутылок «Sprite»,
сколько могли.
Так они действовали до пятницы. В пятницу, сдав посуду и добавив сдачу с четверга, они смогли купить только одну
бутылку напитка. При этом денег у них уже не осталось.
https://acmp.ru/index.asp?main=alltasks 39/591
2/29/2020 Все задачи сайта

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


понедельник.

Входные данные
Входной файл INPUT.TXT состоит из единственной строки, содержащей два целых числа F (стоимость одной бутылки
«Sprite») и P (стоимость одной пустой бутылки из под «Sprite»), разделенных пробелом.

Ограничения: 1 ≤ P < F ≤ 109, начальная сумма не превосходит 2×109.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число – минимальную сумму,
которой располагали программисты в понедельник.

Пример
№ INPUT.TXT OUTPUT.TXT
1 7 3 83

Задача №79
Последняя цифра A^B
(Время: 1 сек. Память: 16 Мб Сложность: 21%)
Требуется написать программу, которая находит цифру, на которую оканчивается число AB.

Входные данные
Входной файл INPUT.TXT состоит из единственной строки, содержащей два целых числа A и B, разделенных
пробелом (1 ≤ A,B ≤ 10000).

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

В единственную строку выходного файла OUTPUT.TXT нужно вывести цифру, на которую оканчивается AB.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 2 4
2 3 7 7
3 24 9 4

Задача №80
Тождество
(Время: 1 сек. Память: 16 Мб Сложность: 37%)
Вам необходимо проверить домашнюю работу Васи Пупкина, в которой он написал равенство. Например, запись вида
«2+3=5» является правильной, а «23*7=421» неверная, но корректная. Корректной записью выражения будем называть
последовательность: число, операция («+», «-», «*», «/»), число, знак равенства, число. Числом будем считать
последовательность из одной или более десятичных цифр, перед которой может стоять один знак минус. В корректной
записи выражения нет пробелов.
Если запись не соответствует описанному правилу, то она считается некорректной. Например, записи «2*=3», «173» и
«2+2=a» некорректны.

Входные данные
Входной файл INPUT.TXT состоит из единственной строки, содержащей запись арифметического выражения. Все
числа в записи не превышают по абсолютной величине 30000. Длина арифметического выражения может быть от 0 до 100
символов.

https://acmp.ru/index.asp?main=alltasks 40/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT выведите «YES», если указанная запись правильна (т.е. равенство представляет собой
тождество), «NO» - если корректная, но неверная и «ERROR», если запись некорректная.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2+3=5 YES
2 3*7=20 NO
3 two plus three is five ERROR

Задача №81
Арбузы
(Время: 0,5 сек. Память: 16 Мб Сложность: 14%)
Иван Васильевич пришел на рынок и решил купить два арбуза: один для себя, а другой для тещи. Понятно, что для
себя нужно выбрать арбуз потяжелей, а для тещи полегче. Но вот незадача: арбузов слишком много и он не знает как же
выбрать самый легкий и самый тяжелый арбуз? Помогите ему!

Входные данные
В первой строке входного файла INPUT.TXT задано одно число N – количество арбузов. Вторая строка содержит N
чисел, записанных через пробел. Здесь каждое число – это масса соответствующего арбуза. Все числа натуральные и не
превышают 30000.

Выходные данные
В выходной файл OUTPUT.TXT нужно вывести два числа через пробел: массу арбуза, который Иван Васильевич
купит теще и массу арбуза, который он купит себе.

Пример
№ INPUT.TXT OUTPUT.TXT
5 1 9
1
5 1 6 5 9

Задача №82
Пересечение множеств
(Время: 1 сек. Память: 64 Мб Сложность: 34%)
Даны два неупорядоченных набора целых чисел (может быть, с повторениями). Выдать без повторений в порядке
возрастания все те числа, которые встречаются в обоих наборах.

Входные данные
В первой строке входного файла INPUT.TXT записано через пробел два целых числа N и М (1 ≤ N, М ≤ 300 000) —
количество элементов первого и второго наборов, соответственно. В следующих строках записано сначала N чисел
первого набора, а затем M чисел второго набора. Числа разделены пробелами или символами конца строки. Каждое из
этих чисел попадает в промежуток от 0 до 105.

Выходные данные
В выходной файл OUTPUT.TXT нужно записать в возрастающем порядке без повторений все числа, которые входят
как в первый, так и во второй набор. Числа разделять одним пробелом. Если таких чисел нет, то выходной файл должен
оставаться пустым.

Пример
№ INPUT.TXT OUTPUT.TXT
https://acmp.ru/index.asp?main=alltasks 41/591
2/29/2020 Все задачи сайта
1 11 6 6 12
2 4 6 8 10 12 10 8 6 4 2
3 6 9 12 15 18

Задача №83
Симпатичные узоры
(Время: 1 сек. Память: 16 Мб Сложность: 66%)
Компания BrokenTiles планирует заняться выкладыванием во дворах у состоятельных клиентов узор из черных и
белых плиток, каждая из которых имеет размер 1×1 метр. Известно, что дворы всех состоятельных людей имеют наиболее
модную на сегодня форму прямоугольника M×N метров.
Однако при составлении финансового плана у директора этой организации появилось целых две серьезных проблемы:
во первых, каждый новый клиент очевидно захочет, чтобы узор, выложенный у него во дворе, отличался от узоров всех
остальных клиентов этой фирмы, а во вторых, этот узор должен быть симпатичным. Как показало исследование, узор
является симпатичным, если в нем нигде не встречается квадрата 2×2 метра, полностью покрытого плитками одного цвета.
На рисунке 1 показаны примеры различных симпатичных узоров, а на рисунке 2 – несимпатичных.

Для составления финансового плана директору необходимо узнать, сколько клиентов он сможет обслужить, прежде
чем симпатичные узоры данного размера закончатся. Помогите ему!

Входные данные
В первой строке входного файла INPUT.TXT находятся два положительных целых числа, разделенные пробелом – M и
N (1 ≤ M∙N ≤ 30).

Выходные данные
Выведите в выходной файл OUTPUT.TXT единственное число – количество различных симпатичных узоров, которые
можно выложить во дворе размера M×N. Узоры, получающиеся друг из друга сдвигом, поворотом или отражением
считаются различными.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 2 14
2 3 3 322

Задача №84
Выпуклая оболочка
(Время: 1 сек. Память: 16 Мб Сложность: 27%)
Рассмотрим бесконечный лист клетчатой бумаги. Закрасим некоторое множество клеток в черный цвет. Теперь мы
хотим закрасить минимальное количество клеток, так, чтобы множество черных клеток стало выпуклым.
Напомним, что геометрическая фигура Φ называется выпуклой, если для любых точек A из Φ и В из Φ с
вещественными координатами отрезок [AB] принадлежит Φ.

Входные данные
В первой строке входного файла INPUT.TXT содержатся два числа N и M (1 ≤ N, M ≤ 100) — размеры куска бумаги,
куда попали все черные клетки. В каждой из следующих N строк содержится М символов «*» или «.». Символ «*»
обозначает черную клетку, а «.» белую.

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

https://acmp.ru/index.asp?main=alltasks 42/591
2/29/2020 Все задачи сайта

В выходной файл OUTPUT.TXT выведите выпуклое множество, содержащее минимальное количество дополнительно
покрашенных черных клеток, в ровно N строках по M символов «*» или «.» в каждой.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 4 .**.
1 ..*. .**.
.**.
4 3 .*.
.*. .*.
2 .*. .*.
.*. .*.
.*.

Задача №85
Единичный НОД
(Время: 1 сек. Память: 16 Мб Сложность: 23%)
Заданы два натуральных числа в десятичной системе счисления, состоящие из единиц. В первом числе ровно N
единиц, а во втором их ровно M. Требуется найти НОД этих чисел.
Напомним, что НОД (наибольший общий делитель) двух чисел a и b — это такое максимальное число c, что b делится
на c и a делится на c.

Входные данные
В единственной строке входного файла INPUT.TXT записаны два целых числа N и M (1 ≤ N, M ≤ 2000).

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ без ведущих нулей.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1 1
2 1 2 1

Задача №86
Головоломка про ферзей
(Время: 1 сек. Память: 16 Мб Сложность: 15%)
Вероятно, что многие из вас играли в шахматы. Поэтому вы знаете, что ферзь может двигаться
по горизонталям, вертикалям и диагоналям.
Вася недавно начал заниматься шахматами и где-то прочел головоломку, в которой нужно было
расставить максимальное количество ферзей на доске 8х8 так, чтобы хотя бы одно поле оказалось
небитым. Эта задача легко решается для доски 3х3, т.к. понятно, что более двух ферзей расставить
таким образом на ней невозможно.
Помогите Васе решить эту задачу для доски N×N.

Входные данные
В единственной строке входного файла INPUT.TXT записано натуральное число N – размеры шахматной доски N×N
(1 ≤ N ≤ 100).

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести максимальное количество ферзей, которых
можно расставить на шахматной доске N×N так, чтобы одна клетка оставалась небитой.
https://acmp.ru/index.asp?main=alltasks 43/591
2/29/2020 Все задачи сайта

Пример
№ INPUT.TXT OUTPUT.TXT
1 3 2

Задача №87
Строки - 2
(Время: 0,4 сек. Память: 16 Мб Сложность: 42%)
Задан набор строк S = {s1, s2, s3, ... , sn}. Необходимо найти количество строк si из S, представимых в виде
конкатенации двух строк sj и sk из S (si = sjsk, j и k при этом могут совпадать).

Входные данные
Входной файл INPUT.TXT содержит набор строк S – по одному элементу на строке. i-ая строка входного файла
содержит si. Последняя строка входного файла содержит строку ENDOFINPUT. Она обозначает конец входных данных и
не входит в S.
Все si состоят только из маленьких букв английского алфавита и имеют длину от 1 до 100 символов. Во входном файле
не более 240 строк (включая строку, содержащую ENDOFINPUT).

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ без ведущих нулей.

Примеры
№ INPUT.TXT OUTPUT.TXT
aa 2
aaaa
1 ab
abaa
ENDOFINPUT
abc 0
bcd
2
def
ENDOFINPUT

Задача №88
Судоку
(Время: 1 сек. Память: 16 Мб Сложность: 27%)
Судоку размера n называется квадрат со стороной n2, разделенный на n2 средних квадратов со стороной n, каждый из
которых разделен на n2 маленьких квадратов. В каждом маленьком квадрате записано число от 1 до n2.
Судоку называется правильным, если в каждом столбце, каждой строке и каждом среднем квадрате встречаются все
числа от 1 до n2.
Недавно Вася нарисовал Судоку размера n. Ваша задача – помочь ему определить правильный ли он.

Входные данные
В первой строке входного файла INPUT.TXT содержится число n (1 ≤ n ≤ 10). В следующих n2 строчках содержится по
n2 чисел, задающих нарисованный Васей Судоку.
Все числа во входном файле натуральные и не превосходят 100 по модулю.

Выходные данные
Если Судоку правильный, то выведите в выходной файл OUTPUT.TXT слово «Correct», иначе выведите «Incorrect».

https://acmp.ru/index.asp?main=alltasks 44/591
2/29/2020 Все задачи сайта

Примеры
№ INPUT.TXT OUTPUT.TXT
3 Correct
1 3 2 5 4 6 9 8 7
4 6 5 8 7 9 3 2 1
7 9 8 2 1 3 6 5 4
9 2 1 4 3 5 8 7 6
1
3 5 4 7 6 8 2 1 9
6 8 7 1 9 2 5 4 3
5 7 6 9 8 1 4 3 2
2 4 3 6 5 7 1 9 8
8 1 9 3 2 4 7 6 5
1 Incorrect
2
10

Задача №89
Быстрый поезд
(Время: 1 сек. Память: 16 Мб Сложность: 30%)
Между двумя крупнейшими городами нашей страны Санкт-Петербургом и Москвой ежедневно совершают рейсы n
поездов. Для каждого поезда известно его время отправления из Санкт-Петербурга и время прибытия в Москву.
Найдите самый быстрый поезд и его скорость в предположении, что длина железной дороги между Санкт-
Петербургом и Москвой равна 650 км.

Входные данные
Первая строка входного файла INPUT.TXT содержит целое число n (1 ≤ n ≤ 100). Каждая из последующих n строк
описывает ровно один поезд.
Описание поезда состоит из его названия, времени отправления и времени прибытия. Название поезда – строка
длиной от 1 до 50 символов, заключенная в кавычки. Она может содержать буквы английского алфавита, пробелы, цифры,
символы тире («–») и подчеркивания («_»). Время отправления и прибытия заданы в формате ЧЧ:ММ. Строчные и
заглавные буквы в названиях поездов различаются.
Время в пути для каждого из поездов составляет хотя бы одну минуту и не превышает 24 часов.
Гарантируется, что самый быстрый поезд определяется единственным образом.

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

Примеры
№ INPUT.TXT OUTPUT.TXT
3 The fastest train is "ER-200".
"ER-200" 06:43 10:40 Its speed is 165 km/h, approximately.
1
"Red Arrow" 23:55 07:55
"Express" 23:59 08:00
3 The fastest train is "Train2".
"Train1" 00:00 00:00 Its speed is 39000 km/h, approximately.
2
"Train2" 00:00 00:01
"Train3" 00:01 00:01
2 The fastest train is "Slow Train 1".
3 "Slow Train 1" 10:00 09:59 Its speed is 27 km/h, approximately.
"Slow Train 2" 10:00 10:00

https://acmp.ru/index.asp?main=alltasks 45/591
2/29/2020 Все задачи сайта

Задача №90
Треугольные страны
(Время: 1 сек. Память: 16 Мб Сложность: 37%)
Эта история происходила на одной плоской планете. С незапамятных времен на ней существовал город N,
находящийся в точке xn,yn. Кроме этого, в разное время на этой же планете существовали страны, каждая из которых
имела форму треугольника.
Теперь перед историками встала серьезная задача — по имеющимся у них данным о треугольных странах определить,
в какие страны мог входить город N. Город мог входить в страну, если он находится строго внутри нее.

Входные данные
Первая строка входного файла содержит два числа: xn и yn — координаты города N. Вторая строка входного файла
содержит количество k треугольных стран (1 ≤ k ≤ 1000). Последующие k строк каждая описывают одну треугольную
страну. Описание треугольной страны состоит из шести целых чисел x1,y1,x2,y2,x3,y3, где (x1,y1), (x2,y2), (x3,y3) —
координаты вершин этой страны.
Гарантируется, что все страны имеют ненулевую площадь. Все координаты не превосходят 10000 по абсолютной
величине.

Выходные данные
В первой строке выходного файла выведите количество стран, в которые мог входить город N. Во второй строке
выведите через пробел номера этих стран в возрастающем порядке. Страны нумеруются с единицы в том порядке, в каком
они заданы во входном файле.

Примеры
№ INPUT.TXT OUTPUT.TXT
0 1 2
2 1 2
1
-2 0 2 0 0 2
-3 0 3 0 0 3
0 2 1
2 2
2
-2 0 2 0 0 2
-3 0 3 0 0 3

Задача №91
Две последовательности
(Время: 1 сек. Память: 16 Мб Сложность: 29%)
Определим последовательности an и bn следующим образом: a1 = 2, a2 = 3, a3 = 4, a4 = 7, a5 = 13, an = bn−1 + bn−3, n > 5,
bn — последовательность чисел, не входящих в an, записанных в возрастающем порядке.

Таким образом, последовательность an будет выглядеть следующим образом: 2, 3, 4, 7, 13, 15,..., а последовательность
bn – 1, 5, 6, 8, 9, 10,....
Ваша задача состоит в том, чтобы найти an и bn.

Входные данные
Входной файл содержит целое число n (1 ≤ n ≤ 10000).

Выходные данные
В первой строке выходного файла выведите an, во второй – bn.

Примеры

https://acmp.ru/index.asp?main=alltasks 46/591
2/29/2020 Все задачи сайта

№ INPUT.TXT OUTPUT.TXT
4 7
1
8
10 25
2
16
6578 19731
3
9868

Задача №92
Журавлики
(Время: 1 сек. Память: 16 Мб Сложность: 7%)
Петя, Катя и Сережа делают из бумаги журавликов. Вместе они сделали S журавликов. Сколько журавликов сделал
каждый ребенок, если известно, что Петя и Сережа сделали одинаковое количество журавликов, а Катя сделала в два раза
больше журавликов, чем Петя и Сережа вместе?

Входные данные
В единственной строке входного файла INPUT.TXT записано одно натуральное число S – общее количество
сделанных журавликов (S < 106).

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести три числа, разделенных пробелами –
количество журавликов, которые сделал каждый ребенок (Петя, Катя и Сережа).

Примеры
№ INPUT.TXT OUTPUT.TXT
1 6 1 4 1
2 24 4 16 4
3 60 10 40 10

Задача №93
Боги
(Время: 1 сек. Память: 16 Мб Сложность: 26%)
Археологами найден набор древних копий старинных манускриптов с мифами – различными историями о древних
богах. К несчастью, переписчики этих манускриптов не отличались особой грамотностью и умудрились в каждом имени
сделать ровно по одной орфографической ошибке – т.е ровно одну из букв божественного имени заменили какой-то другой
буквой. Археологи смогли составить список правильных написаний имен богов, так же им удалось выписать из
манускриптов все имена собственные. Однако сопоставлять два списка – свыше их сил. Помогите им в этом!

Входные данные
Первая строка входного файла INPUT.TXT содержит число N – количество имен богов в списке. Следующие N строк –
имена богов. Далее идет строка, содержащая число M – количество «подозрительных» слов, выписанных из манускриптов.
Следующие M строк – «подозрительные» слова. Каждое из имен богов и «подозрительных» слов – последовательность из
K заглавных букв английского алфавита (1 ≤ N, M, K ≤ 30).

Выходные данные
В выходной файл OUTPUT.TXT выводится N чисел – для каждого божьего имени выводится число “подозрительных”
слов, которые являются именем данного бога с одной ошибкой.

Пример
№ INPUT.TXT OUTPUT.TXT
1 3 2 1 0

https://acmp.ru/index.asp?main=alltasks 47/591
2/29/2020 Все задачи сайта
ZEUS
POSEIDON
AFINA
4
ZEVS
POSEYDON
AVYNA
ZERS

Задача №94
Принц и дракон
(Время: 1 сек. Память: 16 Мб Сложность: 22%)
Волшебник Мерлин продает волшебные мечи принцам, желающим убить дракона. Основная характеристика меча –
число драконьих голов, которые он срубает за удар. Основная характеристика дракона – число голов, которые он может
отрастить за сеанс регенерации. Бои принцев с драконами всегда протекают одинаково – принц атакует, и прячется за
щитом; дракон атакует огненным дыханием и регенерирует; так продолжается до тех пор, пока после очередного удара у
дракона не кончатся головы. Ясно, впрочем, что не каждым мечом можно победить каждого дракона. Заказ, поступающий
Мерлину, всегда содержит число голов дракона и скорость его регенерации. Подсчитайте по известной атакующей силе
меча, сможет ли принц убить такого дракона таким мечом и, если да, то сколько ударов потребуется.

Входные данные
Единственная строка входного файла INPUT.TXT содержит число N – число голов, которые меч срубает одним
ударом. Далее идет число M – число голов дракона. За ним идет K – число голов, которые дракон регенерирует за раз (1 ≤
N, M, K ≤ 105). Все числа разделены пробелом.

Выходные данные
В выходной файл OUTPUT.TXT выведите число ударов, которые необходимо нанести принцу, чтобы убить дракона,
если это возможно. Если таким мечом убить дракона нельзя, то следует вывести «NO».

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 6 2 4
2 4 4 5 1
3 5 10 6 NO

Задача №95
Нумеролог
(Время: 1 сек. Память: 16 Мб Сложность: 24%)
Чтобы предсказать судьбу человека, нумеролог берет время жизни человека в секундах, затем складывает все цифры
этого числа. Если полученное число состоит более чем из одной цифры, операция повторяется, пока в числе не останется
одна цифра. Затем по полученной цифре и числу операций, необходимых для преобразования числа в цифру нумеролог
предсказывает судьбу человека. Нумеролог плохо умеет считать, а числа, с которыми он работает, могут быть очень
большими. Напишите программу, которая бы делала все расчеты за него.

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

Входной файл INPUT.TXT содержит число N – время жизни человека в секундах (1 ≤ N ≤ 101000).

Выходные данные
В выходной файл OUTPUT.TXT выведите два числа через пробел: полученную цифру из числа N и число
преобразований.

Примеры

https://acmp.ru/index.asp?main=alltasks 48/591
2/29/2020 Все задачи сайта

№ INPUT.TXT OUTPUT.TXT
1 1 1 0
2 10 1 1
3 99 9 2

Задача №96
Винни-пух
(Время: 1 сек. Память: 16 Мб Сложность: 41%)
Винни-Пух стоит на прямоугольном поле размером N×M клеток. В каждой клетке растет по
одной ягоде. В начальный момент времени он стоит на левой верхней клетке. Он начинает
собирать ягоды по верхнему краю поля. Если он доходит до края поля или до пустой клетки, он
поворачивается на 90 градусов вправо и продолжает собирать ягоды. Но дойдя до очередной
клетки Винни вспоминает, что его ждет Пятачок, и он уходит с поля.

Входные данные
В первой строке входного файла INPUT.TXT стоят размеры поляны N и M (0 < N, M ≤ 100)
– высота и ширина, во второй числа Y и X (0 < Y ≤ N, 0 < X ≤ M) –номера строки и столбца
клетки, дойдя до которой Винни-Пух прекращает собирать ягоды.

Выходные данные
В выходной файл OUTPUT.TXT выведите число ягод, которые соберет Пух.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1
1
1 1
3 3 4
2
2 3
5 5 18
3
2 3

Задача №97
Заповедники
(Время: 1 сек. Память: 16 Мб Сложность: 50%)
В райской долине расположены N заповедников, имеющих форму прямоугольников.
Однажды на собрании директоров было принято решение об увеличении площадей
заповедников. Для этого директор каждого заповедника выбрал Ri - количество метров,
на которое он хочет увеличить зону своего заповедника, смотрите рисунок. Однако после
подписания соглашения выяснилось, что некоторые заповедники имеют общие земли.
Такие заповедники было решено объединить в один, если объединенный заповедник
пересекался с еще каким-нибудь заповедником их опять объединяли и так до тех пор
пока не остались заповедник(и) не имеющие общих земель.
Ваша задача посчитать, сколько заповедников стало в долине после объединения.

Входные данные
Первая строка входного файла INPUT.TXT содержит число N (1 ≤ N ≤ 100) – количество заповедников. Далее идет N
строк содержащих по пять целых чисел x1, y1, x2, y2, R. (x1, y1) и (x2, y2) – координаты противоположных вершин
заповедника в метрах (-104 ≤ x1, y1, x2, y2 ≤ 104 ). Стороны заповедников параллельны осям координат. Заповедники,
имеющие общую границу, считаются пересекающимися. R (0 ≤ R ≤ 104) – расстояние на которое отодвигается граница
заповедника.

Выходные данные
https://acmp.ru/index.asp?main=alltasks 49/591
2/29/2020 Все задачи сайта

В выходной файл OUTPUT.TXT выведите одно натуральное число – количество оставшихся заповедников после
объединения.

Пример
№ INPUT.TXT OUTPUT.TXT
3 2
3 1 6 4 1
1
1 -2 2 -3 1
-2 -2 -1 -3 2

Задача №98
Игра в числа
(Время: 1 сек. Память: 16 Мб Сложность: 23%)
Игра в числа ведётся на одномерном массиве целых положительных чисел. Перед началом, жеребьёвкой определяется,
кто будет ходить первым (первый игрок), а кто – вторым (второй игрок). Процесс игры состоит в том, что игроки по
очереди (сначала первый игрок, затем второй, следом опять первый и так далее) вычёркивают числа из массива.
Вычеркнуть можно только число, находящееся в конце или начале оставшегося массива. При этом всегда вычёркивается
максимальное число из этих двух. Если первое и последнее числа массива равны, то вычёркивается первое. Игра
продолжается до того момента, пока не будут вычеркнуты все числа. Каждое вычеркнутое число идёт в актив тому игроку,
который его вычеркнул. После окончания игры каждый игрок суммирует вычеркнутые им числа. Победителем объявляется
тот, кто наберет больше очков.
Некоторые игроки поняли, что результат не зависит от стратегии игры, и решили попросить Вас написать программу
для получения результата.

Входные данные
В первой строке входного файла INPUT.TXT находится одно целое число N – количество чисел в массиве (1 ≤ N ≤
104). Во второй строке находятся N целых положительных чисел из диапазона [1, 32000], разделённых пробелом.

Выходные данные
В выходной файл OUTPUT.TXT выведите два числа, разделенные двоеточием. Первое число – количество очков,
набираемых первым игроком при игре на этом массиве, второе число – для второго.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 9:9
1
4 4 1 5 4
1 1234:0
2
1234

Задача №99
Лабиринт
(Время: 1 сек. Память: 16 Мб Сложность: 47%)
Открыв глаза, Принц Персии обнаружил, что находится на верхнем уровне подземного лабиринта Джаффара.
Лабиринт состоит из h уровней, расположенных строго друг под другом. Каждый уровень представляет собой
прямоугольную площадку, разбитую на m х n участков. На некоторых участках стоят колонны, поддерживающие потолок,
на такие участки Принц заходить не может.
Принц может перемещаться с одного участка на другой соседний свободный участок того же уровня, так же он может
проломить пол под собой и оказаться уровнем ниже (на самом нижнем уровне пол проломить нельзя). Любое перемещение
занимает у Принца 5 секунд.
На одном из участков нижнего уровня Принца ждет Принцесса. Помогите Принцу найти Принцессу, потратив на это
как можно меньше времени.

Входные данные
https://acmp.ru/index.asp?main=alltasks 50/591
2/29/2020 Все задачи сайта

В первой строке входного файла INPUT.TXT содержатся натуральные числа h, m и n — высота и горизонтальные
размеры лабиринта (2 ≤ h, m, n ≤ 50). Далее во входном файле приведены h блоков, описывающих уровни лабиринта в
порядке от верхнего к нижнему. Каждый блок содержит m строк, по n символов в каждой: «.» обозначает свободный
участок, «о» обозначает участок с колонной, «1» обозначает свободный участок, в котором оказался Принц в начале своего
путешествия, «2» обозначает свободный участок, на котором томится Принцесса. Символы «1» и «2» встречаются во
входном файле ровно по одному разу: символ «1» — в описании самого верхнего уровня, а символ «2» — в описании
самого нижнего. Соседние блоки разделены одной пустой строкой.

Выходные данные
В выходной файл OUTPUT.TXT выведите минимальное время в секундах, необходимое Принцу, чтобы найти
Принцессу. Поскольку добро всегда побеждает Зло, гарантируется, что Принц может это сделать.

Пример
№ INPUT.TXT OUTPUT.TXT
3 3 3 60
1..
oo.
...

ooo
1
..o
.oo

ooo
o..
o.2

Задача №100
Счастливые билеты
(Время: 1 сек. Память: 16 Мб Сложность: 68%)
Требуется вычислить количество N - значных счастливых билетов. Напомним, что билет называется счастливым, если
сумма первой половины его цифр равна сумме другой его половины. Например, билет 064109 счастливый, т.к.
0+6+4=1+0+9.

Входные данные
В единственной строке входного файла INPUT.TXT записано натуральное четное число N (N ≤ 100) – количество
цифр в билете.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число – количество N-значных
счастливых билетов.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 4 670
2 6 55252
3 12 39581170420

Задача №101
Магараджа
(Время: 1 сек. Память: 16 Мб Сложность: 60%)
Магараджа — это шахматная фигура, сочетающая возможности ферзя и коня. Таким образом, магараджа может
ходить и бить на любое количество клеток по диагонали, горизонтали и вертикали (т.е. как ферзь), а также либо на две

https://acmp.ru/index.asp?main=alltasks 51/591
2/29/2020 Все задачи сайта

клетки по горизонтали и на одну по вертикали, либо на одну по горизонтали и на две по вертикали (как конь).
Ваша задача — найти число способов расставить на доске N на N ровно K магараджей так, чтобы они не били друг
друга.

Входные данные
Входной файл INPUT.TXT содержит два целых числа: N и K (1 ≤ K ≤ N ≤ 10).

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 1 9
2 4 2 20
3 5 3 48

Задача №102
Треугольник и точка
(Время: 1 сек. Память: 16 Мб Сложность: 32%)
В декартовой системе координат на плоскости заданы координаты вершин треугольника и еще одной точки. Требуется
написать программу, определяющую, принадлежит ли эта точка треугольнику.

Входные данные
В четырех строках входного файла INPUT.TXT находятся пары целых чисел - координаты точек. Числа в первых трех
строках - это координаты вершин треугольника (x1,y1), (x2,y2), (х3,у3), в четвертой строке - координаты тестируемой точки
(x4,у4). Все координаты не превышают 10000 по абсолютной величине.

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести слово «In», если точка находится внутри треугольника и «Out» в
противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
0 0 Out
100 0
1
0 100
100 100
0 0 In
100 0
2
0 100
10 10
0 0 In
100 0
3
0 100
50 50
0 0 In
100 0
4
0 100
0 0

https://acmp.ru/index.asp?main=alltasks 52/591
2/29/2020 Все задачи сайта

Задача №103
Снова A+B
(Время: 1 сек. Память: 16 Мб Сложность: 35%)
Требуется сложить два целых числа А и В.

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

Во входном файле INPUT.TXT записано два неотрицательных целых числа, не превышающих 10100, по одному в
каждой строке.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число — сумму чисел А и В, без
лидирующих нулей.

Пример
№ INPUT.TXT OUTPUT.TXT
2 5
1
3

Задача №104
Шаблон
(Время: 1 сек. Память: 16 Мб Сложность: 65%)
Будем рассматривать слова из больших английских букв и шаблоны, состоящие из больших английских букв и
символов «?» и «*». Говорят, что слово подходит под шаблон, если в шаблоне можно заменить каждый символ «?» на
большую английскую букву, а каждый символ «*» - на последовательность (возможно, пустую) больших английских букв,
так, чтобы получилось требуемое слово. Требуется написать программу, определяющую, подходит ли слово под шаблон.

Входные данные
В первых двух строках входного файла INPUT.TXT записаны шаблон и слово: в одной строке записан шаблон -
последовательность больших английских букв, «?» и «*», в другой - слово, состоящее только из больших английских букв.
Обе строки входного файла содержат от 1 до 255 символов.

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести слово «YES», если слово подходит под шаблон и «NO» в
противном случае.

Пример
№ INPUT.TXT OUTPUT.TXT
ABBCDA YES
1
A*CDA

Задача №105
Раскопки
(Время: 1 сек. Память: 16 Мб Сложность: 76%)
Во время недавних раскопок на Марсе были обнаружены листы бумаги с таинственными символами на них. После
долгих исследований учёные пришли к выводу, что надписи на них на самом деле могли быть обычными числовыми
равенствами. Кроме того, из других источников было получено веское доказательство того, что марсиане знали только три
операции - сложение, умножение и вычитание (марсиане никогда не использовали «унарный минус»: вместо «-5» они
писали «0-5»). Также ученые доказали, что марсиане не наделяли операции разным приоритетом, а просто вычисляли
выражения (если в них не было скобок) слева направо: например, 3+3*5 у них равнялось 30, а не 18. К сожалению,
символы арифметических действий стерлись. Например, если была запись «18=7 (5 3) 2», то возможно восстановить эту
запись как «18=7+(5-3)*2». Требуется написать программу, находящую требуемую расстановку знаков или сообщающую,
что таковой не существует.
https://acmp.ru/index.asp?main=alltasks 53/591
2/29/2020 Все задачи сайта

Входные данные
Первая строка входного файла INPUT.TXT состоит из натурального числа, не превосходящего 230, знака равенства, и
последовательности натуральных чисел (не более десяти), произведение которых также не превосходит 230. Некоторые
группы чисел (одно или более) могут быть окружены скобками. Длина входной строки не будет превосходить 80 символов,
и других ограничений на количество и вложенность скобок нет. Между двумя соседними числами, не разделенными
скобками, всегда будет хотя бы один пробел, во всех остальных местах может быть любое (в том числе и 0) число пробелов
(естественно, внутри числа пробелов нет).

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести одну строку, содержащую полученное равенство (т.е., исходное
равенство со вставленными знаками арифметических действий без лишних пробелов). В случае если требуемая
расстановка знаков невозможна, вывести строку, состоящую из единственного числа «-1». Выходная строка не должна
содержать пробелов.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 18=7 (5 3) 2 18=7+(5-3)*2
2 5= 3 3 -1

Задача №106
Монетки
(Время: 1 сек. Память: 16 Мб Сложность: 8%)
На столе лежат n монеток. Некоторые из них лежат вверх решкой, а некоторые – гербом. Определите минимальное
число монеток, которые нужно перевернуть, чтобы все монетки были повернуты вверх одной и той же стороной.

Входные данные
В первой строке входного файла INPUT.TXT записано натуральное число N (1 ≤ N ≤ 100) – число монеток. В каждой
из последующих N строк содержится одно целое число – 1 если монетка лежит решкой вверх и 0 если вверх гербом.

Выходные данные
В выходной файл OUTPUT.TXT выведите минимальное количество монет, которые нужно перевернуть.

Пример
№ INPUT.TXT OUTPUT.TXT
1 5 2
1
0
1
https://acmp.ru/index.asp?main=alltasks 54/591
2/29/2020 Все задачи сайта
1
0

Задача №107
Красивые номера
(Время: 1 сек. Память: 16 Мб Сложность: 52%)
Вы, наверное, замечали, что многие компании используют для рекламы Шаблон группы Баллы
«красивые» номера телефонов, которые удобны для запоминания aa 2
потенциальными клиентами. Но что делать, если номер вашей компании ничем aba 2
не примечателен? Можно присмотреться к нему повнимательнее, а вдруг, если
перегруппировать цифры номера некоторым образом, номер станет намного aab, abb 2
красивее? Например, если у вашей компании номер 872-73-33, то его можно aaa 3
сделать красивее, если перегруппировать цифры так: 8727-333. abac, baca 2
Введем следующую оценку красоты разбиения номера. Будем разбивать abab 3
номер дефисами на группы размером от 2 до 4 цифр. Теперь красотой aabb 3
разбиения назовем сумму баллов, которые приносит каждая группа. Эти баллы
abba 4
будем считать, пользуясь приведенной справа таблицей.
baaa, abaa, aaba, aaab 3
В этой таблице символами «а», «b», «с» обозначены различные цифры.
aaaa 5
Например, под шаблон «aab» подходят группы «223», «667», но не подходят
«123» и «888». Пользуясь предложенной оценкой, найдите наиболее красивое разбиение заданного номера.

Входные данные
Входной файл INPUT.TXT содержит одну строку из 7 цифр – заданный телефонный номер.

Выходные данные
Выведите в первой строке выходного файла OUTPUT.TXT наиболее красивое разбиение номера, а во второй –
величину его красоты. Если разбиений с максимальной величиной красоты несколько, выведите в выходной файл любое из
этих разбиений.

Примеры
№ INPUT.TXT OUTPUT.TXT
8727333 8727-333
1
5
8827291 88-272-91
2
4

Задача №108
Неглухой телефон
(Время: 1 сек. Память: 16 Мб Сложность: 1%)
Возможно, что Вы когда то играли в игру «Глухой телефон», либо слышали о ней. В этой игре участникам приходится
передавать информацию друг другу различными способами: словесно, образно, бывает даже приходится писать левой
рукой текст, который другой участник команды должен будет прочитать. Так же известно, что практически никогда
передаваемая информация не доходит до конечного адресата. Обозначим за Fi(x) функцию, которая преобразует текст
передаваемой информации x в ту, которую получит участник i+1 от участника i. Тогда последний n-й участник получит
данные y, которые будут выражаться следующей формулой:
y = Fn-1(Fn-2(…F2(F1(x))))

Но Вам необходимо исключить какие-либо внешние факторы, которые могут исказить исходную информацию и Вы
должны реализовать программу «неглухой телефон», которая сможет безошибочно доставлять исходные данные, т.е. в
нашем случае функция Fi(x) = x для всех i от 1 до n-1.

Входные данные
В единственной строке входного файла INPUT.TXT записано натуральное число от 1 до 100.

https://acmp.ru/index.asp?main=alltasks 55/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT нужно вывести в точности то же число, которое задано во входном файле.

Пример
№ INPUT.TXT OUTPUT.TXT
1 5 5

Задача №109
A/B
(Время: 1 сек. Память: 16 Мб Сложность: 43%)
Требуется получить точное значение частного А/В для двух натуральных чисел A и B.

Входные данные
В единственной строке входного файла INPUT.TXT записано частное двух натуральных чисел, не превышающих
1000. Числа разделены символом «/» без лишних пробелов.

Выходные данные
В выходной файл OUTPUT.TXT нужно вывести точное значение A/B без лишних точек, нулей и пробелов. В случае
присутствия бесконечной записи числа следует вывести период в скобках.
Например, неправильно выведены числа: 08.92, 3.20, 120.6(6), 0.(33), 5.(0), 2. , .3, 0.33(03) . Их следует выводить как
8.92, 3.2, 120.(6), 0.(3), 5, 2, 0.3, 0.3(30) .

Примеры
№ INPUT.TXT OUTPUT.TXT
1 10/7 1.(428571)
2 1/3 0.(3)
3 100/25 4

Задача №110
Красивые числа
(Время: 1 сек. Память: 16 Мб Сложность: 78%)
Саша считает красивыми числа, десятичная запись которых не содержит других цифр, кроме 0 и k (1 ≤ k ≤ 9).
Например, если k = 2, то такими числами будут 2, 20, 22, 2002 и т.п. Остальные числа Саше не нравятся, поэтому он
представляет их в виде суммы красивых чисел. Например, если k = 3, то число 69 можно представить так: 69 = 33 + 30 + 3
+ 3.
Однако, не любое натуральное число можно разложить в сумму красивых целых чисел. Например, при k = 5 число 6
нельзя представить в таком виде. Но если использовать красивые десятичные дроби, то это можно сделать: 6 = 5.5 + 0.5.
Недавно Саша изучил периодические десятичные дроби и начал использовать и их в качестве слагаемых. Например,
если k = 3, то число 43 можно разложить так: 43 = 33.(3) + 3.(3) + 3 + 3.(3).
Оказывается, любое натуральное число можно представить в виде суммы положительных красивых чисел. Но такое
разложение не единственно — например, число 69 можно также представить и как 69 = 33 + 33 + 3. Сашу заинтересовало,
какое минимальное количество слагаемых требуется для представления числа n в виде суммы красивых чисел.
Требуется написать программу, которая для заданных чисел n и k находит разложение числа n в сумму положительных
красивых чисел с минимальным количеством слагаемых.

Входные данные
Во входном файле INPUT.TXT записаны два натуральных числа n и k (1 ≤ n ≤ 109; 1 ≤ k ≤ 9).

Выходные данные
https://acmp.ru/index.asp?main=alltasks 56/591
2/29/2020 Все задачи сайта

В выходной файл OUTPUT.TXT выведите разложение числа n в сумму положительных чисел, содержащих только
цифры 0 и k, количество слагаемых в котором минимально. Разложение должно быть представлено в виде: n=a1+a2+...+am.
Слагаемые a1, a2, ..., am должны быть выведены без ведущих нулей, без лишних нулей в конце дробной части. Запись
каждого слагаемого должна быть такой, что длины периода и предпериода дробной части имеют минимально возможную
длину. Если решений несколько, то следует вывести то, где меньше слагаемых и по возможности с наименьшим
количеством чисел с периодической дробью.
Например, неправильно выведены числа: 07.7; 2.20; 55.5(5); 0.(66); 7.(0); 7. ; .5; 0.33(03). Их следует выводить так: 7.7;
2.2; 55.(5); 0.(6); 7; 7; 0.5; 0.3(30). Предпериод и период каждого из выведенных чисел должны состоять не более чем из
100 цифр. Гарантируется, что хотя бы одно такое решение существует. Если искомых решений несколько, выведите любое.
Порядок слагаемых может быть произвольным.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 69 3 69=3+33+33
2 6 5 6=0.5+5.5
3 10 9 10=9.(9)

Задача №111
Игра «Пуговицы»
(Время: 0,25 сек. Память: 16 Мб Сложность: 48%)
Правила игры очень просты. Перед двумя играющими находится кучка из K пуговиц. Играющие по очереди берут
пуговицы из кучки, причем за один ход каждый из них может взять от 1 до L пуговиц. Выигрывает тот из спортсменов,
которому удастся взять последнюю пуговицу.
Тот из игроков, которому по жребию выпадает делать первый ход, получает возможность собственноручно назначить
число K. Тот из игроков, который будет ходить вторым, выбирает, в свою очередь, число L.
Вам необходимо определить наилучшую стратегию для участника, который ходит вторым.

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

Во входном файле INPUT.TXT записано одно натуральное число K (1 ≤ K ≤ 108) – общее количество пуговиц.

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести целое число L (2 ≤ L < K) — максимальное количество пуговиц,
которое можно взять за один ход, обеспечивающее победу второму игроку. Если таких чисел несколько, то следует вывести
наименьшее из них. Если таких чисел нет, то следует вывести число 0.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 2
2 26 12
3 31 30

Задача №112
Армия
(Время: 0,5 сек. Память: 16 Мб Сложность: 58%)
Всем известно, что в армии без строевой подготовки и порядка дело не обходится и за этим там строго следят.
Однажды утром сержант построил всех своих подчиненных в K рядов по N человек в каждом, но оказалось, что солдаты
выстроились не по росту, и поэтому сержант решил их наказать. Солдаты должны были выстроиться по росту в каждом
отдельном ряде так, что слева должны были стоять самые низкие, а справа самые высокие. Ну а поскольку в армии
виноваты всегда слабые (низкие), то наказание было следующим: каждый солдат должен был отжаться столько раз,
сколько солдат стоит от него слева выше его ростом.

https://acmp.ru/index.asp?main=alltasks 57/591
2/29/2020 Все задачи сайта

Оказалось, что все солдаты были разного роста, и многим пришлось отжиматься достаточно много раз. Сержанту
стало интересно: сколько же раз в общей сложности пришлось отжаться солдатам?
Помогите ему решить эту задачу!

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

В первой строке входного файла INPUT.TXT записаны два натуральных числа N и K (2 ≤ N ≤ 104, 1≤ K ≤20) – число
солдат в каждом ряде и число рядов. Следующие K строк файла содержат ровно N разных натуральных чисел от 1 до N –
рост солдат. Первое число ряда – рост первого солдата (самого левого в ряду), второе – рост второго, и т.д.

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести общее количество отжиманий, которые должны были выполнить
солдаты.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 3 4
1 2 3
1
2 1 3
3 2 1
5 2 7
2 1 5 2 4 3
2 3 1 5 4

Задача №113
Фермер
(Время: 2 сек. Память: 16 Мб Сложность: 46%)
Фермер решил на своем квадратном участке земли вспахать пашню квадратной формы максимальной площади, т.к. он
посчитал, что именно квадратная форма пашни наиболее удобна для обработки. Но на его участке присутствуют деревья и
хозяйственные постройки, которые он никуда не хочет переносить, а так же иные места, не пригодные для пашни. Для
удобства он составил квадратную карту местности N×N в форме матрицы и пометил нулями непригодные для пашни зоны,
в остальные зоны он поставил единицу.
Необходимо помочь фермеру определить максимальную площадь пашни.

Входные данные
В первой строке входного файла INPUT.TXT записано единственное натуральное число N (1 ≤ N ≤ 1000) – длина
стороны квадратного участка фермы. Далее, следует N строк, в каждой из которых находится последовательность (без
пробелов) нулей и единиц, описывающих ферму.

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести максимально возможную площадь пашни.

Пример
№ INPUT.TXT OUTPUT.TXT
7 9
1101101
1111110
1011100
1
0011100
1000010
1100111
1001110

https://acmp.ru/index.asp?main=alltasks 58/591
2/29/2020 Все задачи сайта

Задача №114
Без двух нулей подряд
(Время: 1 сек. Память: 16 Мб Сложность: 37%)
Требуется вычислить количество N-значных чисел в системе счисления с основанием K, таких что их запись не
содержит двух подряд идущих нулей.

Входные данные
Во входном файле INPUT.TXT записаны два натуральных числа N и K в десятичной системе счисления (2 ≤ K ≤ 10; 2
≤ N; 4 ≤ N+K ≤ 18).

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести целое число в десятичной записи – ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 10 90
2 4 2 5
3 6 3 328

Задача №115
Прямоугольник
(Время: 1 сек. Память: 16 Мб Сложность: 42%)
Задан целочисленный прямоугольный массив M×N. Необходимо определить прямоугольную область данного массива,
сумма элементов которого максимальна.

Входные данные
В первой строке входного файла INPUT.TXT записаны два натуральных числа N и M (1 ≤ N, M ≤ 100) – количество
строк и столбцов прямоугольной матрицы. Далее идут N строк по M чисел, записанных через пробел – элементы массива,
целые числа, не превосходящие 100 по абсолютной величине.

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести целое число – сумму элементов найденного прямоугольного
подмассива. Подмассив должен содержать хотя бы один элемент.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 3 24
1 5 0 9
1 2 7
4 5 20
-7 8 -1 0 -2
2 2 -9 2 4 -6
-7 0 6 8 1
4 -8 -1 0 -6

Задача №116
Фермер - 2
(Время: 1 сек. Память: 16 Мб Сложность: 60%)
После решения задачи с пашней земли, фермер хочет построить на этой земле как можно больший по площади сарай
прямоугольной формы. Но на его участке есть деревья и хозяйственные постройки, которые он не хочет никуда

https://acmp.ru/index.asp?main=alltasks 59/591
2/29/2020 Все задачи сайта

переносить. Для простоты представим ферму прямоугольной сеткой размера M×N. Каждое из деревьев и построек
размещается в одном или нескольких узлах сетки. Сарай должен быть построен на свободных узлах сетки.
Помогите фермеру определить максимально возможную площадь сарая.

Входные данные
В первой строке входного файла INPUT.TXT записаны два натуральных числа N и M (1 ≤ N,M ≤ 1000) – размеры
фермы. Далее, следует N строк, в каждой из которых находится последовательность (без пробелов) из M нулей и единиц,
описывающих ферму. Единицы соответствуют свободным для постройки участкам.

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести максимально возможную площадь сарая, который может
построить фермер на своем участке.

Пример
№ INPUT.TXT OUTPUT.TXT
5 10 21
1011011111
0111111110
1
1111111111
1011111111
1101110111

Задача №117
Опасная зона
(Время: 1 сек. Память: 16 Мб Сложность: 57%)
Группа экспертов обнаружила на территории нежилого массива множество опасных
участков, соприкосновение с которыми небезопасно для жизни человека.
В целях безопасности требуется создать защитный периметр в форме выпуклого
многоугольника, который бы смог обезопасить проникновение человека в эту зону.
По заданным координатам опасных участков требуется вычислить минимально
возможную площадь опасной зоны, которая попадет в защитный периметр.

Входные данные
В первой строке входного файла INPUT.TXT записано натуральное число N – количество опасных участков. В каждой
из N последующих строк находятся два числа Xi и Yi - координаты участков, размерами которых можно пренебречь. При
этом участки могут повторяться.
Все числа целые, не превосходящие 1000 по абсолютной величине.

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести одно число — площадь опасной зоны, округленной до целого
значения.

Пример
№ INPUT.TXT OUTPUT.TXT
1 10 26
4 6
https://acmp.ru/index.asp?main=alltasks 60/591
2/29/2020 Все задачи сайта
2 5
6 4
7 7
4 4
1 5
3 8
3 2
5 7
7 3

Задача №118
Задача Иосифа Флавия
(Время: 1 сек. Память: 16 Мб Сложность: 29%)
Существует легенда, что Иосиф Флавий - известный историк первого века - выжил и стал известным благодаря
математической одаренности. В ходе иудейской войны он в составе отряда из 41 иудейского воина был загнан римлянами в
пещеру. Предпочитая самоубийство плену, воины решили выстроиться в круг и последовательно убивать каждого третьего
из живых до тех пор, пока не останется ни одного человека. Однако Иосиф наряду с одним из своих единомышленников
счел подобный конец бессмысленным - он быстро вычислил спасительные места в порочном круге, на которые поставил
себя и своего товарища. И лишь поэтому мы знаем его историю…
В нашем варианте мы начнем с того, что выстроим в круг N человек, пронумерованных числами от 1 до N, и будем
исключать каждого k-ого до тех пор, пока не уцелеет только один человек.
Например, если N=10, K=3, то сначала умрет 3-й, потом 6-й, затем 9-й, затем 2-й, затем 7-й, потом 1-й, потом 8-й, за
ним - 5-й, и потом 10-й. Таким образом, уцелеет 4-й.
Требуется написать программу, которая по заданным N и K будет определять номер уцелевшего человека.

Входные данные
Входной файл INPUT.TXT содержит два натуральных числа N и K. Ограничения: N ≤ 500, K ≤ 100.

Выходные данные
В выходной файл OUTPUT.TXT нужно вывести номер уцелевшего человека.

Пример
№ INPUT.TXT OUTPUT.TXT
1 10 3 4

Задача №119
Сортировка времени
(Время: 1 сек. Память: 16 Мб Сложность: 23%)
Требуется выполнить сортировку временных моментов, заданных в часах, минутах и секундах.

Входные данные
Во входном файле INPUT.TXT в первой строке записано число N (1 ≤ N ≤ 100), а в последующих N строках N
моментов времени. Каждый момент времени задается 3 целыми числами - часы (от 0 до 23), минуты (от 0 до 59) и секунды
(от 0 до 59).

Выходные данные
В выходной файл OUTPUT.TXT выведите моменты времени, упорядоченные в порядке неубывания без ведущих
нулей.

Пример
№ INPUT.TXT OUTPUT.TXT

https://acmp.ru/index.asp?main=alltasks 61/591
2/29/2020 Все задачи сайта
1 4 7 30 0
10 20 30 10 20 30
7 30 00 13 30 30
23 59 59 23 59 59
13 30 30

Задача №120
Минимальный путь в таблице
(Время: 1 сек. Память: 16 Мб Сложность: 32%)
В прямоугольной таблице N×M (в каждой клетке которой записано некоторое
число) в начале игрок находится в левой верхней клетке. За один ход ему разрешается
перемещаться в соседнюю клетку либо вправо, либо вниз (влево и вверх перемещаться
запрещено). При проходе через клетку с игрока берут столько у.е., какое число записано
в этой клетке (деньги берут также за первую и последнюю клетки его пути).
Требуется найти минимальную сумму у.е., заплатив которую игрок может попасть
в правый нижний угол.

Входные данные
Во входном файле INPUT.TXT задано два числа N и M - размеры таблицы (1 ≤ N ≤ 20, 1 ≤ M ≤ 20). Затем идет N строк
по M чисел в каждой - размеры штрафов в у.е. за прохождение через соответствующие клетки (числа от 0 до 100).

Выходные данные
В выходной файл OUTPUT.TXT выведите минимальную сумму, потратив которую можно попасть в правый нижний
угол.

Пример
№ INPUT.TXT OUTPUT.TXT
3 4 8
1 1 1 1
1
5 2 2 100
9 4 2 1
5 5 11
1 1 1 1 1
3 100 100 100 100
2
1 1 1 1 1
2 2 2 2 1
1 1 1 1 1

Задача №121
Гвоздики
(Время: 1 сек. Память: 16 Мб Сложность: 34%)
На прямой дощечке вбиты гвоздики. Любые два гвоздика можно соединить ниточкой. Требуется соединить некоторые
пары гвоздиков ниточками так, чтобы к каждому гвоздику была привязана хотя бы одна ниточка, а суммарная длина всех
ниточек была минимальна.

Входные данные
В первой строке входного файла INPUT.TXT записано число N - количество гвоздиков (2 ≤ N ≤ 100). В следующей
строке записано N чисел - координаты всех гвоздиков (неотрицательные целые числа, не превосходящие 10000).

Выходные данные
В выходной файл OUTPUT.TXT нужно вывести единственное число - минимальную суммарную длину всех ниточек.

Пример
https://acmp.ru/index.asp?main=alltasks 62/591
2/29/2020 Все задачи сайта

№ INPUT.TXT OUTPUT.TXT
6 5
1
3 4 12 6 14 13

Задача №122
Максимальная подпоследовательность
(Время: 1 сек. Память: 16 Мб Сложность: 38%)
Дана числовая последовательность, требуется найти длину наибольшей возрастающей подпоследовательности.

Входные данные
В первой строке входного файла INPUT.TXT записано число N - длина последовательности (1 ≤ N ≤ 1000). Во второй
строке записана сама последовательность (через пробел). Числа последовательности - целые числа, не превосходящие
10000 по модулю.

Выходные данные
В выходной файл OUTPUT.TXT требуется вывести наибольшую длину возрастающей подпоследовательности.

Пример
№ INPUT.TXT OUTPUT.TXT
6 3
1
3 29 5 5 28 6

Задача №123
Восстановление скобок
(Время: 1 сек. Память: 16 Мб Сложность: 54%)
Задан шаблон, состоящий из круглых скобок и знаков вопроса. Требуется определить, сколькими способами можно
заменить знаки вопроса круглыми скобками так, чтобы получилось правильное скобочное выражение.

Входные данные
Единственная строка входного файла INPUT.TXT содержит заданный шаблон длиной от 1 до 80 символов.

Выходные данные
Выведите в выходной файл OUTPUT.TXT искомое количество способов. Исходные данные будут таковы, что это
количество не превзойдет 2×109.

Пример
№ INPUT.TXT OUTPUT.TXT
1 ????(? 2

Задача №124
Светофорчики
(Время: 1 сек. Память: 16 Мб Сложность: 25%)
В подземелье M тоннелей и N перекрестков, каждый тоннель соединяет какие-то два перекрестка. Мышиный король
решил поставить по светофору в каждом тоннеле перед каждым перекрестком. Напишите программу, которая посчитает,
сколько светофоров должно быть установлено на каждом из перекрестков. Перекрестки пронумерованы числами от 1 до N.

Входные данные
Во входном файле INPUT.TXT записано два числа N и M (0 < N ≤ 100, 0 ≤ M ≤ N*(N-1)/2). В следующих M строках
записаны по два числа i и j (1 ≤ i,j ≤ N), которые означают, что перекрестки i и j соединены тоннелем. Можно считать, что
любые два перекрестка соединены не более, чем одним тоннелем. Нет тоннелей от перекрестка i до него самого.
https://acmp.ru/index.asp?main=alltasks 63/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT вывести N чисел: k-ое число означает количество светофоров на k-ом перекрестке.

Пример
№ INPUT.TXT OUTPUT.TXT
7 10 3 3 2 2 5 2 3
5 1
3 2
7 1
5 2
1 7 4
6 5
6 4
7 5
2 1
5 3

Задача №125
Цветной дождь
(Время: 1 сек. Память: 16 Мб Сложность: 26%)
В Банановой республике очень много холмов, соединенных мостами. На химическом заводе произошла авария, в
результате чего испарилось экспериментальное удобрение "зован". На следующий день выпал цветной дождь, причем он
прошел только над холмами. В некоторых местах падали красные капли, в некоторых - синие, а в остальных - зеленые, в
результате чего холмы стали соответствующего цвета. Президенту Банановой республики это понравилось, но ему
захотелось покрасить мосты между вершинами холмов так, чтобы мосты были покрашены в цвет холмов, которые они
соединяют. К сожалению, если холмы разного цвета, то покрасить мост таким образом не удастся. Посчитайте количество
таких "плохих" мостов.

Входные данные
В файле INPUT.TXT в первой строке записано N (0 < N ≤ 100) - число холмов. Далее идет матрица смежности,
описывающая наличие мостов между холмами (1-мост есть, 0-нет). Предпоследняя строка пустая, а в последней строке
записано N чисел, обозначающих цвет холмов: 1 - красный; 2 - синий; 3 - зеленый.

Выходные данные
В файл OUTPUT.TXT вывести количество "плохих" мостов.

Пример
№ INPUT.TXT OUTPUT.TXT
7 4
0 1 0 0 0 1 1
1 0 1 0 0 0 0
0 1 0 0 1 1 0
0 0 0 0 0 0 0
1
0 0 1 0 0 1 0
1 0 1 0 1 0 0
1 0 0 0 0 0 0

1 1 1 1 1 3 3

Задача №126
Издевательство
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Штирлиц ехал на машине, увидел голосующего Бормана, и проехал мимо. Через некоторое время он снова увидел
голосующего Бормана, и снова проехал мимо. Вскоре он опять увидел голосующего Бормана.
https://acmp.ru/index.asp?main=alltasks 64/591
2/29/2020 Все задачи сайта

- Издевается! - подумал Борман.


- Кольцевая! - догадался Штирлиц.
В городе N площадей. Любые две площади соединены между собой ровно одной дорогой с двусторонним движением.
В этом городе живет Штирлиц. У Штирлица есть хобби - он любит воскресным утром выйти из дома, сесть в машину,
выбрать какой-нибудь кольцевой маршрут, проходящий ровно по трем площадям (то есть сначала он едет с какой-то
площади на какую-то другую, потом - на третью, затем возвращается на начальную, и опять едет по этому маршруту). Он
воображает, что где-то на этом пути стоит Борман. И так вот ездит Штирлиц все воскресенье, пока голова не закружится, и
радуется...
Естественно, что Штирлицу хочется проезжать мимо точки, в которой, как он воображает, стоит Борман, как можно
чаще. Для этого, естественно, выбранный Штирлицем маршрут должен быть как можно короче. Напишите программу,
которая выберет оптимальный для Штирлица маршрут.

Входные данные
Во входном файле INPUT.TXT записано сначала число N (3 ≤ N ≤ 100), а затем матрица N×N расстояний между
площадями (число в позиции i,j обозначает длину дороги, соединяющей i-ую и j-ую площади). Все числа в матрице (кроме
стоящих на главной диагонали) - натуральные, не превышающие 1000. Матрица симметрична относительно главной
диагонали, на главной диагонали стоят 0.

Выходные данные
В выходной файл OUTPUT.TXT выведите длину оптимального маршрута.

Пример
№ INPUT.TXT OUTPUT.TXT
5 24
0 20 10 30 40
20 0 30 1 2
1
10 30 0 40 1000
30 1 40 0 21
40 2 1000 21 0

Задача №127
Путь
(Время: 1 сек. Память: 16 Мб Сложность: 40%)
В неориентированном графе требуется найти длину кратчайшего пути между двумя вершинами.

Входные данные
Во входном файле INPUT.TXT записано сначала число N - количество вершин в графе (1 ≤ N ≤ 100). Затем записана
матрица смежности (0 обозначает отсутствие ребра, 1 - наличие ребра). Затем записаны номера двух вершин - начальной и
конечной.

Выходные данные
В выходной файл OUTPUT.TXT выведите длину кратчайшего пути. Если пути не существует, выведите одно число -1.

Пример
№ INPUT.TXT OUTPUT.TXT
5 3
0 1 0 0 1
1 0 1 0 0
1 0 1 0 0 0
0 0 0 0 0
1 0 0 0 0
3 5

https://acmp.ru/index.asp?main=alltasks 65/591
2/29/2020 Все задачи сайта

Задача №128
Один конь
(Время: 1 сек. Память: 16 Мб Сложность: 41%)
На шахматной доске N×N в клетке (x1,y1) стоит голодный шахматный конь. Он хочет попасть в клетку (x2,y2), где
растет вкусная шахматная трава. Какое наименьшее количество ходов он должен для этого сделать?

Входные данные
Входной файл INPUT.TXT содержит пять чисел: N, x1, y1, x2, y2 (5 ≤ N ≤ 20, 1 ≤ x1, y1, x2, y2 ≤ N). Левая верхняя
клетка доски имеет координаты (1,1), правая нижняя - (N,N).

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести наименьшее число ходов коня.

Пример
№ INPUT.TXT OUTPUT.TXT
5 2
1 1 1
3 1

Задача №129
Табличка
(Время: 0,5 сек. Память: 16 Мб Сложность: 51%)
Вам дана табличка, состоящая из N строк и M столбцов. В каждой клетке таблицы стоит либо 0, либо 1. Расстоянием
между клетками (x1,y1) и (x2,y2) называется |x1-x2|+|y1-y2|. Вам нужно построить другую таблицу, в которой в каждой
клетке стоит расстояние от данной до ближайшей клетки, содержащей 1 (в начальной таблице). Гарантируется, что хотя бы
одна 1 в таблице есть.

Входные данные
В первой строке входного файла INPUT.TXT содержатся два натуральных числа, не превосходящих 100 - N и M. Далее
идут N строк по M чисел - элементы таблицы.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать N строк по M чисел - элементы искомой таблицы.

Пример
№ INPUT.TXT OUTPUT.TXT
2 3 1 1 0
1 0 0 1 0 1 1
1 0 0

Задача №130
Два коня
(Время: 1 сек. Память: 16 Мб Сложность: 55%)
На стандартной шахматной доске (8х8) живут 2 шахматных коня: красный и зеленый. Обычно они беззаботно скачут
по просторам доски, пощипывая шахматную травку, но сегодня особенный день: у зеленого коня день рождения. зеленый
конь решил отпраздновать это событие вместе с красным. Но для осуществления этого прекрасного плана им нужно
оказаться на одной клетке. Заметим, что красный и зеленый шахматные кони сильно отличаются от черного с белым: они
ходят не по очереди, а одновременно, и если оказываются на одной клетке, никто никого не съедает. Сколько ходов им
потребуется, чтобы насладиться праздником?

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

https://acmp.ru/index.asp?main=alltasks 66/591
2/29/2020 Все задачи сайта

Во входном файле INPUT.TXT содержатся координаты коней, записанные по стандартным шахматным правилам (т.е.
двумя символами - маленькая английская буква (от a до h) и цифра (от 1 до 8), задающие столбец и строку соответственно).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать наименьшее необходимое количество ходов, либо -1, если кони не
могут встретиться.

Пример
№ INPUT.TXT OUTPUT.TXT
1 a1 a3 1

Задача №131
Перепись
(Время: 1 сек. Память: 16 Мб Сложность: 15%)
В доме живет N жильцов. Однажды решили провести перепись всех жильцов данного дома и составили список, в
котором указали возраст и пол каждого жильца. Требуется найти номер самого старшего жителя мужского пола.

Входные данные
Во входном файле INPUT.TXT в первой строке задано натуральное число N – количество жильцов (N ≤ 100). В
последующих N строках располагается информация о всех жильцах: каждая строка содержит два целых числа: V и S –
возраст и пол человека (1 ≤ V ≤ 100, S – 0 или 1). Мужскому полу соответствует значение S=1, а женскому – S=0.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать номер самого старшего мужчины в списке. Если таких жильцов
несколько, то следует вывести наименьший номер. Если жильцов мужского пола нет, то выведите -1.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 2
25 1
1 70 1
100 0
3 1
2 2
2 25 0
25 1

Задача №132
Алгоритм Дейкстры
(Время: 1 сек. Память: 16 Мб Сложность: 47%)
Дан ориентированный взвешенный граф. Для него вам необходимо найти кратчайшее расстояние от вершины S до
вершины F.

Входные данные
В первой строке входного файла INPUT.TXT записаны три числа: N, S и F (1 ≤ N ≤ 100; 1 ≤ S, F ≤ N), где N -
количество вершин графа. В следующих N строках записаны по N чисел - матрица смежности графа, где число в i-ой
строке j-ом столбце соответствует ребру из i в j: -1 означает отсутствие ребра между вершинами, а любое неотрицательное
целое число (от 0 до 100) - наличие ребра данного веса. На главной диагонали матрицы всегда записаны нули.

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести искомое расстояние или -1, если пути между указанными
вершинами не существует.
https://acmp.ru/index.asp?main=alltasks 67/591
2/29/2020 Все задачи сайта

Пример
№ INPUT.TXT OUTPUT.TXT
3 2 1 3
0 1 1
1
4 0 1
2 1 0

Задача №133
Заправки
(Время: 1 сек. Память: 16 Мб Сложность: 49%)
В стране N городов, некоторые из которых соединены между собой дорогами. Для того, чтобы проехать по одной
дороге требуется один бак бензина. В каждом городе бак бензина имеет разную стоимость. Вам требуется добраться из
первого города в N-ый, потратив как можно меньшее количество денег.

Входные данные
Во входном файле INPUT.TXT записано сначала число N (1 ≤ N ≤ 100), затем идет N чисел, i-ое из которых задает
стоимость бензина в i-ом городе (все числа целые из диапазона от 0 до 100). Далее идет число M - количество дорог в
стране, далее идет описание самих дорог. Каждая дорога задается двумя числами - номерами городов, которые она
соединяет. Все дороги двухсторонние (то есть по ним можно ездить как в одну, так и в другую сторону); между двумя
городами всегда существует не более одной дороги; не существует дорог, ведущих из города в себя.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число - суммарную стоимость маршрута или -1, если добраться
невозможно.

Пример
№ INPUT.TXT OUTPUT.TXT
4 3
1 10 2 15
4
1 1 2
1 3
4 2
4 3

Пояснение к примеру
Оптимальное решение в примере: из 1-го города поехать в 3-й, а затем в 4-й. Горючее придется покупать в 1 и 3
городах.

Задача №134
Автобусы
(Время: 1 сек. Память: 16 Мб Сложность: 50%)
Между некоторыми деревнями края Власюки ходят автобусы. Поскольку пассажиропотоки здесь не очень большие, то
автобусы ходят всего несколько раз в день.
Марии Ивановне требуется добраться из деревни d в деревню v как можно быстрее (считается, что в момент времени
0 она находится в деревне d).

Входные данные
Во входном файле INPUT.TXT записано число N - общее число деревень (1 ≤ N ≤ 100), номера деревень d и v, затем
количество автобусных рейсов R (0 ≤ R ≤ 10000). Затем идут описания автобусных рейсов. Каждый рейс задается номером
деревни отправления, временем отправления, деревней назначения и временем прибытия (все времена - целые от 0 до
10000). Если в момент t пассажир приезжает в деревню, то уехать из нее он может в любой момент времени, начиная с t.
https://acmp.ru/index.asp?main=alltasks 68/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT вывести минимальное время, когда Мария Ивановна может оказаться в деревне v.
Если она не сможет с помощью указанных автобусных рейсов добраться из d в v, вывести -1.

Пример
№ INPUT.TXT OUTPUT.TXT
3 5
1 3
4
1 1 0 2 5
1 1 2 3
2 3 3 5
1 1 3 10

Задача №135
Алгоритм Флойда
(Время: 1 сек. Память: 16 Мб Сложность: 36%)
Полный ориентированный взвешенный граф задан матрицей смежности. Постройте матрицу кратчайших путей между
его вершинами. Гарантируется, что в графе нет циклов отрицательного веса.

Входные данные
В первой строке входного файла INPUT.TXT записано единственное число N (1 ≤ N ≤ 100) - количество вершин графа.
В следующих N строках по N чисел - матрица смежности графа (j-ое число в i-ой строке соответствует весу ребра из
вершины i в вершину j). Все числа по модулю не превышают 100. На главной диагонали матрицы - всегда нули.

Выходные данные
В выходной файл OUTPUT.TXT выведите N строк по N чисел - матрицу кратчайших расстояний между парами
вершин. j-ое число в i-ой строке должно быть равно весу кратчайшего пути из вершины i в вершину j.

Пример
№ INPUT.TXT OUTPUT.TXT
4 0 5 7 13
0 5 9 100 12 0 2 8
1 100 0 2 8 11 16 0 7
100 100 0 7 4 9 11 0
4 100 100 0

Задача №136
Алгоритм Флойда - 2
(Время: 1 сек. Память: 16 Мб Сложность: 39%)
Дан ориентированный взвешенный граф. Вам необходимо найти пару вершин, кратчайшее расстояние от одной из
которых до другой максимально среди всех пар вершин.

Входные данные
В первой строке входного файла INPUT.TXT записано единственное число N (1 ≤ N ≤ 100) - количество вершин графа.
В следующих N строках по N чисел - матрица смежности графа, где -1 означает отсутствие ребра между вершинами, а
любое неотрицательное число - присутствие ребра данного веса. Элементы матрицы - целые числа от -1 до 100. На
главной диагонали матрицы - всегда нули. Гарантируется, что в графе есть хотя бы одно ребро.

Выходные данные
В выходной файл OUTPUT.TXT требуется вывести искомое максимальное кратчайшее расстояние.

https://acmp.ru/index.asp?main=alltasks 69/591
2/29/2020 Все задачи сайта

Пример
№ INPUT.TXT OUTPUT.TXT
4 16
0 5 9 -1
1 -1 0 2 8
-1 -1 0 7
4 -1 -1 0

Задача №137
Существование пути
(Время: 1 сек. Память: 16 Мб Сложность: 65%)
Дан ориентированный взвешенный граф. По его матрице смежности нужно для каждой пары вершин определить:
существует кратчайший путь между ними или нет.
Кратчайший путь может не существовать по двум причинам: либо нет ни одного пути, либо есть путь сколь угодно
маленького веса.

Входные данные
В первой строке входного файла INPUT.TXT записано единственное число N (1 ≤ N ≤ 100) - количество вершин графа.
В следующих N строках по N целых чисел - матрица смежности графа (j-ое число в i-ой строке соответствует весу ребра
из вершины i в вершину j), в которой число 0 обозначает отсутствие ребра, а любое другое число - наличие ребра
соответствующего веса. Все числа по модулю не превышают 100.

Выходные данные
В выходной файл OUTPUT.TXT выведите N строк по N чисел: j-ое число в i-ой строке должно быть равно 0, если путь
из i в j не существует, 1 - если существует кратчайший путь, и 2 - если существует путь сколь угодно маленького веса.

Пример
№ INPUT.TXT OUTPUT.TXT
5 1 1 1 0 0
0 1 2 0 0 1 1 1 0 0
1 0 3 0 0 1 1 1 0 0
1
2 3 0 0 0 0 0 0 2 2
0 0 0 0 -1 0 0 0 2 2
0 0 0 -1 0

Задача №138
Алгоритм Форда-Беллмана
(Время: 1 сек. Память: 16 Мб Сложность: 38%)
Дан ориентированный граф, в котором могут быть кратные ребра и петли. Каждое ребро имеет вес, выражающийся
целым числом (возможно, отрицательным). Гарантируется, что циклы отрицательного веса отсутствуют.
Требуется посчитать длины кратчайших путей от вершины номер 1 до всех остальных вершин.

Входные данные
В первой строке входного файла INPUT.TXT записаны целые числа N и M - количество вершин и количество ребер
графа (1 ≤ N ≤ 100, 0 ≤ M ≤ 10000). В каждой из последующих M строк записана тройка чисел, описывающих ребра:
начало ребра, конец ребра и вес (вес - целое число от -100 до 100).

Выходные данные
В выходной файл OUTPUT.TXT выведите N чисел - расстояния от вершины номер 1 до всех вершин графа. Если пути
до соответствующей вершины не существует, вместо длины пути выведите число 30000.

https://acmp.ru/index.asp?main=alltasks 70/591
2/29/2020 Все задачи сайта

Пример
№ INPUT.TXT OUTPUT.TXT
4 5 0 10 11 30000
1 2 10
2 3 10
1
1 3 100
3 1 -10
2 3 1

Задача №139
Лабиринт знаний
(Время: 1 сек. Память: 16 Мб Сложность: 63%)
В стране Умландии построили аттракцион "Лабиринт знаний". Лабиринт представляет собой N комнат,
занумерованных от 1 до N, между некоторыми из которых есть двери. Когда человек проходит через дверь, показатель его
знаний изменяется на определенную величину, фиксированную для данной двери. Вход в лабиринт находится в комнате 1,
выход - в комнате N. Каждый ученик проходит лабиринт ровно один раз и попадает в ту или иную учебную группу в
зависимости от количества набранных знаний (при входе в лабиринт этот показатель равен нулю). Ваша задача показать
наилучший результат.

Входные данные
Первая строка входного файла INPUT.TXT содержит целые числа N (1 ≤ N ≤ 2000) - количество комнат и M (1 ≤ M ≤
10000) - количество дверей. В каждой из следующих M строк содержится описание двери - номера комнат, из которой она
ведет и в которую она ведет (через дверь можно ходить только в одном направлении), а также целое число, которое
прибавляется к количеству знаний при прохождении через дверь (это число по модулю не превышает 10000). Двери могут
вести из комнаты в нее саму, между двумя комнатами может быть более одной двери.

Выходные данные
В выходной файл OUTPUT.TXT выведите ":)" - если можно получить неограниченно большой запас знаний, ":(" - если
лабиринт пройти нельзя, и максимальное количество набранных знаний в противном случае.

Пример
№ INPUT.TXT OUTPUT.TXT
2 2 5
1 1 2 5
1 2 -5

Задача №140
Цикл отрицательного веса
(Время: 1 сек. Память: 16 Мб Сложность: 46%)
Дан взвешенный граф. Определить, есть ли в нем цикл отрицательного веса.

Входные данные
Во входном файле INPUT.TXT в первой строке записано число N (1 ≤ N ≤ 100) - количество вершин графа. В
следующих N строках находится по N чисел - матрица смежности графа. Веса ребер не превышают по модулю 10000. Если
ребра нет, соответствующее значение равно 100000.

Выходные данные
В выходной файл OUTPUT.TXT выведите "YES", если цикл существует, или "NO" в противном случае.

Пример
№ INPUT.TXT OUTPUT.TXT

https://acmp.ru/index.asp?main=alltasks 71/591
2/29/2020 Все задачи сайта
1 2 YES
0 -1
-1 0

Задача №141
Дерево
(Время: 1 сек. Память: 16 Мб Сложность: 42%)
Неориентированный граф без петель и кратных ребер задан матрицей смежности. Требуется определить, является ли
этот граф деревом.

Входные данные
Во входном файле INPUT.TXT записано сначала число N - количество вершин графа (от 1 до 100). Далее записана
матрица смежности размером N×N, в которой 1 обозначает наличие ребра, 0 - его отсутствие. Матрица симметрична
относительно главной диагонали.

Выходные данные
В выходной файл OUTPUT.TXT выведите сообщение YES, если граф является деревом, и NO в противном случае.

Пример
№ INPUT.TXT OUTPUT.TXT
3 YES
0 1 0
1
1 0 1
0 1 0

Задача №142
Минимальный каркас
(Время: 1 сек. Память: 16 Мб Сложность: 53%)
От вас требуется определить вес минимального остовного дерева для неориентированного взвешенного связного
графа.

Входные данные
В первой строке входного файла INPUT.TXT находятся числа N и M (1 ≤ N ≤ 100; 1 ≤ M ≤ 6000), где N - количество
вершин в графе, а M - количество рёбер. В каждой из последующих M строк записано по тройке чисел A, B, C, где A и B -
номера вершин, соединённых ребром, а C - вес ребра (натуральное число, не превышающее 30000).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число - искомый вес.

Пример
№ INPUT.TXT OUTPUT.TXT
3 3 3
1 2 1
1
2 3 2
3 1 3

Задача №143
A-B
(Время: 1 сек. Память: 16 Мб Сложность: 44%)
Требуется найти разность между неотрицательными числами А и В.

https://acmp.ru/index.asp?main=alltasks 72/591
2/29/2020 Все задачи сайта

Входные данные
Во входном файле INPUT.TXT в двух строках записаны два неотрицательных целых числа A и B, не превышающие
101000.

Выходные данные
В выходной файл OUTPUT.TXT выведите значение A-B.

Примеры
№ INPUT.TXT OUTPUT.TXT
7 2
1
5
5 -12
2
17

Задача №144
A*B
(Время: 1 сек. Память: 16 Мб Сложность: 37%)
Даны два целых неотрицательных числа A и B. Требуется найти их произведение.

Входные данные
Во входном файле INPUT.TXT записаны целые неотрицательные числа A и B по одному в строке (A < 10100, B ≤
10000).

Выходные данные
В выходной файл OUTPUT.TXT выведите единственное число без лидирующих нулей: A*B.

Пример
№ INPUT.TXT OUTPUT.TXT
5 35
1
7

Задача №145
A div B
(Время: 1 сек. Память: 16 Мб Сложность: 40%)
Даны два целых числа A и B. Требуется найти их целую часть от их частного.

Входные данные
Во входном файле INPUT.TXT записаны целые числа A и B по одному в строке (0 ≤ A ≤ 10100, 0 < B ≤ 10000).

Выходные данные
В выходной файл OUTPUT.TXT выведите единственное число без лидирующих нулей: A div B.

Пример
№ INPUT.TXT OUTPUT.TXT
7 2
1
3

https://acmp.ru/index.asp?main=alltasks 73/591
2/29/2020 Все задачи сайта

Задача №146
Длинный корень
(Время: 1 сек. Память: 16 Мб Сложность: 67%)
По заданному натуральному числу А требуется найти наибольшее число В такое, что B2 ≤ A.

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

Во входном файле INPUT.TXT записано натуральное число A (A ≤ 103000).

Выходные данные
В выходной файл OUTPUT.TXT выведите максимальное натуральное число B, квадрат которого не превосходит A.
Число B следует выводить без лидирующих нулей.

Пример
№ INPUT.TXT OUTPUT.TXT
1 17 4

Задача №147
Числа Фибоначчи
(Время: 1 сек. Память: 16 Мб Сложность: 16%)
Последовательностью Фибоначчи называется последовательность чисел a0, a1, ..., an, ..., где
a0 = 0, a1 = 1, ak = ak-1 + ak-2 (k > 1).

Требуется найти N-е число Фибоначчи.

Входные данные
Во входном файле INPUT.TXT записано целое число N (0 ≤ N ≤ 30).

Выходные данные
В выходной файл OUTPUT.TXT выведите N-е число Фибоначчи.

Пример
№ INPUT.TXT OUTPUT.TXT
1 7 13

Задача №148
НОД
(Время: 1 сек. Память: 16 Мб Сложность: 15%)
Даны два натуральных числа A и B. Требуется найти их наибольший общий делитель (НОД).

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

Во входном файле INPUT.TXT в единственной строке записаны натуральные числа A и B через пробел (A, B ≤ 109).

Выходные данные
В выходной файл OUTPUT.TXT выведите НОД чисел А и В.

Пример
№ INPUT.TXT OUTPUT.TXT
1 12 42 6
https://acmp.ru/index.asp?main=alltasks 74/591
2/29/2020 Все задачи сайта

Задача №149
Разворот
(Время: 1 сек. Память: 16 Мб Сложность: 9%)
Дано натуральное число N и последовательность из N элементов. Требуется вывести эту последовательность в
обратном порядке.

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

В первой строке входного файла INPUT.TXT записано натуральное число N (N ≤ 103). Во второй строке через пробел
идут N целых чисел, по модулю не превосходящих 103 - элементы последовательности.

Выходные данные
В выходной файл OUTPUT.TXT выведите заданную последовательность в обратном порядке.

Пример
№ INPUT.TXT OUTPUT.TXT
3 3 2 1
1
1 2 3

Задача №150
Друзья
(Время: 1 сек. Память: 16 Мб Сложность: 41%)
В клубе N человек. Многие из них - друзья. Так же известно, что друзья друзей так же являются друзьями. Требуется
выяснить, сколько всего друзей у конкретного человека в клубе.

Входные данные
В первой строке входного файла INPUT.TXT заданы два числа: N и S (1 ≤ N ≤ 100; 1 ≤ S ≤ N), где N - количество
человек в клубе, а S – номер конкретного человека. В следующих N строках записано по N чисел - матрица смежности,
состоящая из единиц и нулей. Причем единица, стоящая в i-й строке и j-м столбце гарантирует, что люди с номерами i и j –
друзья, а 0 – выражает неопределенность.

Выходные данные
В выходной файл OUTPUT.TXT выведите количество гарантированных друзей у человека с номером S, помня о
транзитивности дружбы.

Пример
№ INPUT.TXT OUTPUT.TXT
3 1 2
0 1 0
1
1 0 1
0 1 0

Задача №151
Банкет
(Время: 1 сек. Память: 16 Мб Сложность: 44%)
На банкет были приглашены N Очень Важных Персон (ОВП). Были поставлены 2 стола. Столы достаточно большие,
чтобы все посетители банкета могли сесть за любой из них. Проблема заключается в том, что некоторые ОВП не ладят
друг с другом и не могут сидеть за одним столом. Вас попросили определить, возможно ли всех ОВП рассадить за двумя
столами.

Входные данные
https://acmp.ru/index.asp?main=alltasks 75/591
2/29/2020 Все задачи сайта

В первой строке входного файла INPUT.TXT дано два целых числа: N и M (0 ≤ N,M ≤ 100), где N - количество ОВП, а
M - количество пар ОВП, которые не могут сидеть за одним столом. В следующих M строках записано по 2 числа - пары
ОВП, которые не могут сидеть за одним столом.

Выходные данные
Если способ рассадить ОВП существует, то в выходной файл OUTPUT.TXT выведите YES и NO в противном случае.

Пример
№ INPUT.TXT OUTPUT.TXT
3 2 YES
1 1 2
1 3

Задача №152
Построение
(Время: 1 сек. Память: 16 Мб Сложность: 46%)
Группа солдат-новобранцев прибыла в армейскую часть N666. После знакомства с прапорщиком стало очевидно, что
от работ на кухне по очистке картофеля спасти солдат может только чудо.
Прапорщик, будучи не в состоянии запомнить фамилии, пронумеровал новобранцев от 1 до N. После этого он велел
им построиться по росту (начиная с самого высокого). С этой несложной задачей могут справиться даже совсем
необученные новобранцы, да вот беда, прапорщик уверил себя, что знает про некоторых солдат, кто из них кого выше, и
это далеко не всегда соответствует истине.
После трех дней обучения новобранцам удалось выяснить, что знает (а точнее, думает, что знает) прапорщик.
Помогите им, используя эти знания, построиться так, чтобы товарищ прапорщик остался доволен.

Входные данные
Во входном файле INPUT.TXT сначала идут числа N и M (1 ≤ N ≤ 100, 1 ≤ M ≤ 5000) - количество солдат в роте и
количество пар солдат, про которых прапорщик знает, кто из них выше. Далее идут эти пары чисел A и B по одной на
строке (1 ≤ A,B ≤ N), что означает, что, по мнению прапорщика, солдат A выше, чем B.

Выходные данные
В выходной файл OUTPUT.TXT выведите "Yes" если можно построиться так, чтобы прапорщик остался доволен и
"No" если нельзя.

Пример
№ INPUT.TXT OUTPUT.TXT
5 4 Yes
1 3
1 1 4
4 3
5 2

Задача №153
Монетки - 2
(Время: 1 сек. Память: 16 Мб Сложность: 51%)
В волшебной стране используются монетки достоинством A1, A2,..., AM. волшебный человечек пришел в магазин и
обнаружил, что у него есть ровно по две монетки каждого достоинства. Ему нужно заплатить сумму N. Напишите
программу, определяющую, сможет ли он расплатиться без сдачи.

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

https://acmp.ru/index.asp?main=alltasks 76/591
2/29/2020 Все задачи сайта

Во входном файле INPUT.TXT записано сначала число N (1 ≤ N ≤ 109), затем - число M (1 ≤ M ≤ 15) и далее M
попарно различных чисел A1, A2,..., AM (1 ≤ Ai ≤ 109).

Выходные данные
В выходной файл OUTPUT.TXT выведите количество монет, которое придется отдать волшебному человечку, если он
сможет заплатить указанную сумму без сдачи. Если решений несколько, выведите вариант, в котором волшебный человек
отдаст наименьшее возможное количество монет. Если без сдачи не обойтись, то выведите одно число 0. Если же у
волшебного человечка не хватит денег, чтобы заплатить указанную сумму, выведите одно число -1 (минус один).

Примеры
№ INPUT.TXT OUTPUT.TXT
5 2 3
1
1 2
7 2 -1
2
1 2
5 2 0
3
3 4

Задача №154
Сумма кубов
(Время: 1 сек. Память: 16 Мб Сложность: 52%)
Известно, что любое натуральное число можно представить в виде суммы не более чем четырех квадратов
натуральных чисел. Вася решил придумать аналогичное утверждение для кубов - он хочет узнать, сколько кубов
достаточно для представления любого числа. Его первая рабочая гипотеза - восемь.
Выяснилось, что почти все числа, которые Вася смог придумать, представляются в виде суммы не более чем восьми
кубов. Однако число 239, например, не допускает такого представления. Теперь Вася хочет найти какие-либо другие такие
числа, а также, возможно, какую-либо закономерность в представлениях всех остальных чисел, чтобы выдвинуть гипотезу
относительно вида всех чисел, которые не представляются в виде суммы восьми кубов.
Помогите Васе написать программу, которая проверяла бы, возможно ли представить данное натуральное число в виде
суммы не более чем восьми кубов натуральных чисел, и если это возможно, то находила бы какое-либо такое
представление.

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

Во входном файле INPUT.TXT записано натуральное число N (1 ≤ N ≤ 2×109).

Выходные данные
В выходной файл OUTPUT.TXT выведите не более восьми натуральных чисел в порядке невозрастания, кубы которых
в сумме дают N. Если вариантов несколько, то выведите любой. Если искомого представления не существует, то в
выходной файл необходимо вывести слово IMPOSSIBLE.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 17 2 2 1
2 239 IMPOSSIBLE

Задача №155
Конденсаторы
(Время: 1 сек. Память: 16 Мб Сложность: 59%)
Радиолюбитель Петя решил собрать детекторный приемник. Для этого ему понадобился конденсатор емкостью C
мкФ. В распоряжении Пети есть набор из N конденсаторов, емкости которых равны C1, C2, ... ,CN соответственно. Петя
помнит, как вычисляется емкость параллельного соединений двух конденсаторов (Cnew = C1 + C2) и последовательного
https://acmp.ru/index.asp?main=alltasks 77/591
2/29/2020 Все задачи сайта

соединения двух конденсаторов (Cnew = (C1*C2)/(C1+C2) ). Петя хочет спаять некоторую последовательно-параллельную
схему из имеющегося набора конденсаторов, такую, что ее емкость ближе всего к искомой (то есть абсолютная величина
разности значений минимальна). Для изготовления схемы Петя может использовать от 1 до N из имеющихся у него
конденсаторов.
Напомним определение последовательно-параллельной схемы. Схема, составленная из одного конденсатора, -
последовательно-параллельная схема. Любая схема, полученная последовательным соединением двух последовательно-
параллельных схем, - последовательно-параллельная, а также любая схема, полученная параллельным соединением двух
последовательно-параллельных схем, - последовательно-параллельная.

Входные данные
В первой строке каждого входного файла INPUT.TXT заданы числа N и C (N - целое: 1 ≤ N ≤ 6, С - вещественное с не
более, чем 4 знаками после запятой: 0 < C < 1000).
Во второй строке содержится последовательность емкостей имеющихся в наличии конденсаторов C1, C2, ... ,CN . Все
значения Ci - натуральные числа, не превышающие 1000.

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести YES, если Пете удастся собрать схему, емкость которой
отличается не более чем на 0.01 от требуемого значения C. В противном случае следует вывести NO.

Пример
№ INPUT.TXT OUTPUT.TXT
3 1.66 YES
1
1 2 1

Пояснения к примеру
Последовательно соединим первый и второй конденсаторы, а затем полученную схему соединим параллельно с
третьим. Полученная схема будет иметь емкость 1.(6)

Задача №156
Шахматы - 2
(Время: 1 сек. Память: 16 Мб Сложность: 46%)
Требуется найти число способов расставить на шахматной доске N×N K ладей так, чтобы они не били друг друга. Все
ладьи считаются одинаковыми.

Входные данные
Во входном файле INPUT.TXT записаны натуральные числа N и K (N, K ≤ 8).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число – ответ на задачу.

Пример
№ INPUT.TXT OUTPUT.TXT
1 8 8 40320

Задача №157
Карточки
(Время: 1 сек. Память: 16 Мб Сложность: 38%)
На день рождения Пете подарили набор карточек с буквами. Теперь Петя с большим интересом составляет из них
разные слова. И вот, однажды, составив очередное слово, Петя заинтересовался вопросом: "А сколько различных слов
можно составить из тех же карточек, что и данное?".
https://acmp.ru/index.asp?main=alltasks 78/591
2/29/2020 Все задачи сайта

Помогите ему ответить на этот вопрос.

Входные данные
Во входном файле INPUT.TXT задано слово, составленное Петей - строка из маленьких английских букв не длиннее
15 символов.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число - ответ на поставленную задачу.

Пример
№ INPUT.TXT OUTPUT.TXT
1 solo 12

Задача №158
Великий комбинатор
(Время: 1 сек. Память: 16 Мб Сложность: 60%)
В результате очередной хитроумной комбинации у Остапа Бендера и его компаньонов - K детей лейтенанта Шмидта
оказалось X рублей пятирублевыми банкнотами. И вот дело, как водится, дошло до дележа...
Шура Балаганов предложил "по справедливости", т.е. всем поровну. Паниковский порешил себе отдать половину, а
остальным "по заслугам". Каждый из K детей лейтенанта предложил что-нибудь интересное. Однако, у Великого
Комбинатора имелось свое мнение на этот счет...
Ваша же задача состоит в нахождении количества способов разделить имеющиеся деньги между всеми участниками
этих славных событий: K детьми лейтенанта Шмидта и Остапом Бендером.

Входные данные
Во входном файле INPUT.TXT записаны целые числа X (0 ≤ X ≤ 500) и K (0 ≤ K ≤ 100). Естественно, что число X
делится на 5. Да и при дележе рвать пятирублевые банкноты не разрешается.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число - количество способов дележа.

Пример
№ INPUT.TXT OUTPUT.TXT
1 15 2 10

Задача №159
Обратная перестановка
(Время: 1 сек. Память: 16 Мб Сложность: 25%)
По заданной перестановке требуется определить обратную.
Перестановкой из N элементов называется упорядоченный набор из N различных чисел от 1 до N. Количество
различных перестановок порядка N равно PN = N!

Пусть у нас есть упорядоченное множество из N элементов. Перестановка задает преобразование этого множества. А
именно, она говорит, что на i место нужно поставить ai элемент множества, где ai - i-тый элемент перестановки.

Обратной перестановкой к перестановке π называется такая перестановка π-1, что ππ-1 = π-1π = ε, где ε –
тождественная перестановка. То есть если применить сначала перестановку π, а потом обратную к ней π-1, то в итоге
получится такой результат, как если бы мы эти перестановки не применяли вообще. Такой же результат получится, если
сначала применить обратную перестановку π-1, а потом прямую π.

Входные данные
https://acmp.ru/index.asp?main=alltasks 79/591
2/29/2020 Все задачи сайта

В первой строке входного файла INPUT.TXT записано число 0 < N ≤ 20000 - порядок перестановки. Во второй строке
записана сама перестановка.

Выходные данные
В выходной файл OUTPUT.TXT выведите обратную перестановку.

Пример
№ INPUT.TXT OUTPUT.TXT
3 3 1 2
1
2 3 1

Задача №160
Степень перестановки
(Время: 1 сек. Память: 16 Мб Сложность: 46%)
Требуется вычислить степень заданной перестановки.
Перестановкой из N элементов называется упорядоченный набор из N различных чисел от 1 до N. Количество
различных перестановок порядка N равно PN = N!

Пусть у нас есть упорядоченное множество из N элементов. Перестановка задает преобразование этого множества. А
именно, она говорит, что на i место нужно поставить ai элемент множества, где ai - i-тый элемент перестановки.

Обратной перестановкой к перестановке π называется такая перестановка π-1, что ππ-1 = π-1π = ε, где ε –
тождественная перестановка.

Степенью перестановки называется минимальное натуральное число k такое, что πk = ε

Входные данные
В первой строке входного файла INPUT.TXT записано число 0 < N ≤ 100 - порядок перестановки. Во второй строке
записана сама перестановка.

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

В выходной файл OUTPUT.TXT выведите степень данной перестановки. Гарантируется, что ответ не превышает 109.

Пример
№ INPUT.TXT OUTPUT.TXT
3 3
1
2 3 1

Задача №161
Восстановление перестановки
(Время: 1 сек. Память: 16 Мб Сложность: 44%)
Перестановкой из N элементов называется упорядоченный набор из N различных чисел от 1 до N.
Пусть дана перестановка π. Обозначим φ[i] - количество таких j, что π[j] > π[i], а j < i. φ называется таблицей инверсий
перестановки π.
Требуется по данной таблице инверсий восстановить перестановку.

Входные данные
В первой строке входного файла INPUT.TXT записано число 0 < N ≤ 2000 - порядок перестановки. Во второй строке
записана таблица инверсий.

Выходные данные
https://acmp.ru/index.asp?main=alltasks 80/591
2/29/2020 Все задачи сайта

В выходной файл OUTPUT.TXT выведите искомую перестановку.

Пример
№ INPUT.TXT OUTPUT.TXT
3 2 3 1
1
0 0 2

Задача №162
Манхэттенский полицейский
(Время: 1 сек. Память: 16 Мб Сложность: 56%)
Недавно Билл устроился на работу полицейским. Теперь ему предстоит каждый вечер обходить свой участок, который
представляет собой прямоугольник, состоящий из N×M кварталов. Каждый квартал имеет вид квадрата размером 100 х 100
метров, кварталы отделены друг от друга прямыми улицами.
Таким образом, через участок Билла проходит N+1 улица, идущая с запада на восток, и M+1 улица, идущая с севера на
юг. Перекрестки разбивают улицы на (N+1)*M + (M+1)*N отрезков, каждый из которых имеет длину 100 метров.
Совершая обход, Билл выходит из полицейского управления, расположенного около юго-западного угла его участка,
обходит свой участок и возвращается в управление. Во время обхода Билл должен пройти по каждому отрезку улицы на
территории своего участка как минимум один раз. Известно, что во время обхода Билл проходит отрезок длиной 100
метров за одну минуту. Выясните, какое минимальное число минут потребуется Биллу, чтобы совершить обход.

Входные данные
Входной файл INPUT.TXT содержит натуральные числа N и M, не превышающие 10 000.

Выходные данные
В выходной файл OUTPUT.TXT выведите минимальное время, за которое Билл может совершить обход.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1 4
2 2 2 16
3 4 3 38

Пояснение
Один из возможных оптимальных путей для Билла во втором примере показан на рисунке:

Задача №163
Уравнение для 5 класса!
(Время: 1 сек. Память: 16 Мб Сложность: 25%)
Уравнение для пятиклассников представляет собой строку длиной 5 символов. Второй символ строки является либо
знаком '+' (плюс) либо '-' (минус), четвёртый символ — знак '=' (равно). Из первого, третьего и пятого символов ровно два
являются цифрами из диапазона от 0 до 9, и один — буквой x, обозначающей неизвестное.

https://acmp.ru/index.asp?main=alltasks 81/591
2/29/2020 Все задачи сайта

Требуется написать программу, которая позволит решить данное уравнение относительно x.

Входные данные
Входной файл INPUT.TXT состоит из одной строки, в которой записано уравнение.

Выходные данные
В выходной файл OUTPUT.TXT выведите целое число — значение x.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 x+5=7 2
2 3-x=9 -6

Задача №164
Счастливый билет - 2
(Время: 1 сек. Память: 16 Мб Сложность: 26%)
Билет называется счастливым, если его можно разрезать прямой линией между цифр на две части таким образом, что
оказавшиеся на них числа имеют одинаковые цифровые корни. Чтобы вычислить цифровой корень числа, его цифры
складывают, если в результате получится число большее или равное 10, то цифры складывают снова и так далее, пока не
получится число от 0 до 9 – это и есть цифровой корень. Например, билет с номером 0015420 является счастливым, так как
разрезав его на части с числами 0015 и 420 имеем у этих чисел одинаковые цифровые корни.
Требуется написать программу, которая определит, является ли счастливым билет с заданным номером.

Входные данные
Входной файл INPUT.TXT содержит номер счастливого билета. Номер может начитаться с нулей и содержит от 1 до
100 цифр.

Выходные данные
В выходной текстовый файл OUTPUT.TXT выведите «YES», если билет счастливый и «NO» иначе.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 0015420 YES
2 00100 NO

Задача №165
Только вправо или вниз
(Время: 1 сек. Память: 16 Мб Сложность: 32%)
Игровое поле N×M заполняется целыми числами, одно неотрицательное целое число в каждой клетке. Цель игры
состоит в том, чтобы пройти по любому разрешенному пути от верхнего левого угла до правого нижнего. Целое число в
каждой клетке указывает, какой длины шаг должен быть из текущей клетки. Все шаги могут быть или направо или вниз.
Если в результате какого-либо шага игрок покидает пределы поля, такой шаг запрещается.
На рис. 1 приведен пример игрового поля 3×4, где сплошная окружность показывает положение начала, а пунктирная
окружность – цель. Рис. 2 показывает три возможных пути от начала до цели для рассматриваемого примера игрового
поля, с удаленными промежуточными числами.

https://acmp.ru/index.asp?main=alltasks 82/591
2/29/2020 Все задачи сайта

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

Входные данные
Входной файл INPUT.TXT содержит в первой строке размеры поля N (1 ≤ N ≤ 70) и M (1 ≤ M ≤ 70). В последующих N
строках входного файла, каждая из которых описывает отдельную строку игрового поля, записаны через пробел по M
целых чисел от 0 до 100 – длины шагов из клеток данной строки.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно число - число различных вариантов путей от верхнего левого
угла до правого нижнего. Для каждого поля будет менее чем 231 различных путей.

Пример
№ INPUT.TXT OUTPUT.TXT
3 4 3
2 1 1 2
1
3 2 1 44
3 1 1 0

Задача №166
Сообщество роботов
(Время: 0,5 сек. Память: 16 Мб Сложность: 31%)
Сообщество роботов живет по следующим законам:

один раз в начале года они объединяются в группы по три или пять роботов;
за год группа из трех роботов собирает 5 новых, а группа из 5 роботов – 9 новых;
роботы объединяются так, чтобы собрать за год наибольшее количество новых роботов;
каждый робот живет ровно три года после сборки.

В начале первого года было K роботов и все они были только что собраны.
Требуется написать программу, которая найдет количество роботов в начале N-го года.

Входные данные
Входной файл INPUT.TXT содержит записанные через пробел числа K (1 ≤ K ≤ 500) и N (1 ≤ N ≤ 100).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно число - количество роботов в начале N-го года. Количество
роботов меньше, чем 231.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 2 8
2 8 2 22

https://acmp.ru/index.asp?main=alltasks 83/591
2/29/2020 Все задачи сайта

Задача №167
Количество треугольников
(Время: 1 сек. Память: 16 Мб Сложность: 51%)
Рассмотрим фигуру, аналогичную показанной на рисунке (большой
равносторонний треугольник, составленный из маленьких равносторонних
треугольников). На рисунке приведена фигура, состоящая из 4-х уровней треугольников.
Требуется написать программу, которая будет определять, сколько всего в ней
треугольников (необходимо учитывать не только "маленькие" треугольники, а вообще
все треугольники — в частности, треугольник, выделенный жирным, а также вся
фигура, являются интересующими нас треугольниками).

Входные данные
Входной файл INPUT.TXT содержит одно число N — количество уровней в фигуре
(1 ≤ N ≤ 105).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно число - количество треугольников в такой фигуре.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1
2 2 5
3 4 27

Задача №168
Натуральный ряд чисел
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Натуральные числа записаны в строку без каких-либо разделителей. Начало этой строки имеет вид
123456789101112131415161718192021… .
Требуется написать программу, которая определит первое вхождение десятичной записи заданного числа N в этой
строке.

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

Входной файл INPUT.TXT содержит заданное число N (1 ≤ N ≤ 104).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно число – позицию, начиная с которой в строке записано первое
вхождение заданного числа. Нумерация позиций начинается с единицы.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 45 4
2 101 10
3 142 73

Задача №169
Магазин
(Время: 1 сек. Память: 16 Мб Сложность: 34%)

https://acmp.ru/index.asp?main=alltasks 84/591
2/29/2020 Все задачи сайта

На расстоянии N шагов от магазина стоит человек. Каждую минуту он выбирает, куда сделать шаг: к магазину или в
противоположном направлении.
Требуется написать программу, которая определит, сколькими способами он может попасть в магазин, пройдя ровно K
шагов и оказавшись в магазине только после выполнения последнего шага.

Входные данные
Входной файл INPUT.TXT содержит два числа N и K, записанные через пробел. Известно, что 1 ≤ N ≤ K ≤ 37.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно число – количество способов попадания в магазин.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 4 2
2 5 5 1

Задача №170
Разложение числа
(Время: 1 сек. Память: 16 Мб Сложность: 35%)
Любое натуральное число можно представить в виде суммы нескольких последовательных натуральных чисел.
Например, число 25 можно представить в виде суммы из одного (25), двух (12+13) или пяти (3+4+5+6+7) чисел.
Требуется написать программу, которая определит максимальное количество чисел в таком разложении.

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

Входной файл INPUT.TXT содержит одно натуральное число N (1 ≤ N ≤ 109).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно натуральное число – максимальное количество чисел в
разложении числа N на сумму последовательных натуральных чисел.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 1
2 5 2
3 25 5

Задача №171
Количество делителей
(Время: 1 сек. Память: 16 Мб Сложность: 50%)
Пусть х — натуральное число. Назовем у его делителем, если 1 ≤ у ≤ х и остаток от деления х на у равен нулю.
Задано число х. Найдите количество его делителей.

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

Входной файл INPUT.TXT содержит заданное число x (1 ≤ x ≤ 1018). Все простые делители числа x не превосходят
1000.

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.
https://acmp.ru/index.asp?main=alltasks 85/591
2/29/2020 Все задачи сайта

Примеры
№ INPUT.TXT OUTPUT.TXT
1 12 6
2 239 2

Задача №172
Деление с остатком
(Время: 1 сек. Память: 16 Мб Сложность: 39%)
Заданы два числа: N и K. Необходимо найти остаток от деления N на K.

Входные данные
Входной файл INPUT.TXT содержит два целых числа: N и K (1 ≤ N ≤ 10100, 1 ≤ K ≤ 109).

Выходные данные
В выходной файл OUTPUT.TXT выведите остаток от деления N на K.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 239 16 15
2 4638746747645731289347483927 6784789 1001783

Задача №173
Число - палиндром
(Время: 1 сек. Память: 16 Мб Сложность: 29%)
Напомним, что палиндромом называется строка, одинаково читающаяся с обеих сторон. Например, строка «ABBA»
является палиндромом, а строка «ABC» - нет.
Необходимо определить, в каких системах счисления с основанием от 2 до 36 представление заданного числа N
является палиндромом.
В системах счисления с основанием большим 10 в качестве цифр используются буквы английского алфавита: A, B, ... ,
Z. Например, A11 = 1010, Z36 = 3510.

Входные данные
Входной файл INPUT.TXT содержит заданное число N в десятичной системе счисления (1 ≤ N ≤ 109).

Выходные данные
Если соответствующее основание системы счисления определяется единственным образом, то выведите в первой
строке выходного файла OUTPUT.TXT слово «unique», если оно не единственно — выведите в первой строке выходного
файла слово «multiple». Если же такого основания системы счисления не существует — выведите в первой строке
выходного файла слово «none».
В случае существования хотя бы одного требуемого основания системы счисления выведите через пробел в
возрастающем порядке во второй строке выходного файла все основания системы счисления, удовлетворяющие
требованиям.

Примеры
№ INPUT.TXT OUTPUT.TXT
123 unique
1
6
2 111 multiple

https://acmp.ru/index.asp?main=alltasks 86/591
2/29/2020 Все задачи сайта
6 10 36
3 102892748 none

Задача №174
Свадьба
(Время: 1 сек. Память: 16 Мб Сложность: 32%)
Одна предприимчивая и очень симпатичная дамочка с прелестнейшим именем Горгона решила заработать себе денег
на роскошную жизнь. N молодых людей так влюблены в нее, что предложили руку и сердце. К несчастью для них, Горгона
видит в них только мешок с деньгами. Она планирует выйти замуж и почти сразу же развестись с некоторыми из молодых
людей ради денежной выгоды. Все, что ей нужно, это подзаработать как можно больше денег (и уж, конечно, остаться
незамужней). По законам этой прекрасной страны при разводе каждый из супругов получает половину всего имущества.
Вы планируете опубликовать статью, в которой опишете всю подлость и меркантильность этой особы. Для того чтобы
статья получилась особенно красочной, нужно указать максимальную сумму денег, которую сможет получить Горгона.

Входные данные
В первой строке входного файла INPUT.TXT записано целое число N — количество молодых людей, без памяти
влюбленных в Горгону (1 < N ≤ 40). Далее следует N чисел — сумма денег на счету каждого молодого человека. В
последней строке записано целое число А — сумма денег на счету Горгоны. Суммы денег на счету — целые
неотрицательные числа, не превосходящие 109.

Выходные данные
В выходной файл OUTPUT.TXT выведите единственное число — максимальную сумму денег, которой сможет
обладать Горгона после своей махинации. Ответ выводите в формате с фиксированной точкой с ровно шестью знаками
после десятичной точки.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 7.500000
1 5 10
5
3 2.125000
2 1 3 2
0

Задача №175
Наручные часы
(Время: 1 сек. Память: 16 Мб Сложность: 37%)
Вы приобрели новые электронные наручные часы с жидкокристаллическим дисплеем. Дисплей отображает часы и
минуты с помощью четырех элементов, каждый из которых отображает одну цифру.

Три из них состоят из семи полосок, каждая из которых может быть либо белой (неотличимой от фона), либо черной.
Вид такого элемента и отображаемые им цифры показаны на рисунке:

Четвертый элемент предназначен для отображения старшей цифры часа. Если она равна нулю, то элемент полностью
неактивен (все полоски белые), иначе показывается соответствующая цифра. Вот как выглядит этот элемент с цифрами:

https://acmp.ru/index.asp?main=alltasks 87/591
2/29/2020 Все задачи сайта

Вам хочется проверить: все ли в порядке с новым приобретением, а именно, нет ли таких полосок в каком-либо из
элементов, которые либо всегда белые, либо всегда черные. Вы хотите начать проверку в некоторое начальное время.
Требуется определить, сколько Вам потребуется минут для убеждения в исправности часов.

Входные данные
В первой строке входного файла INPUT.TXT находится время начала проверки в формате HH:MM. Часы и минуты
записаны с лидирующими нулями, если таковые имеются. (00 ≤ HH ≤ 23, 00 ≤ MM ≤ 59).

Выходные данные
В выходной файл OUTPUT.TXT выведите минимальное число минут, необходимое для проверки Ваших часов, если
она началась в заданное время.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 00:00 1200
2 02:39 1041

Задача №176
Скобочки
(Время: 1 сек. Память: 16 Мб Сложность: 69%)
Строка, состоящая из символов «(» и «)», называется скобочной последовательностью. Скобочная последовательность
называется правильной, если она может быть получена из некоторого корректного арифметического выражения удалением
всех символов, кроме скобок. Например, правильная скобочная последовательность «(())()» может быть получена из
выражения «(2-(3+4)*6)*(1+1)».
Глубиной правильной скобочной последовательности называется максимальная разность между количеством
открывающихся и закрывающихся скобок в префиксе последовательности (префиксом строки S называется строка,
которую можно получить из S удалением некоторого количества последних символов, например, префиксами строки
«ABCAB» являются строки «», «A», «AB», «ABC», «ABCA» и «ABCAB»). Например, глубина последовательности «()()
(())» равна двум, т.к. префикс «()()((» имеет 4 открывающиеся и 2 закрывающиеся скобки.
Требуется написать программу, определяющую по заданным значениям N и K количество правильных скобочных
последовательностей с N открывающимися скобками, которые имеют глубину, равную K.

Входные данные
Входной файл INPUT.TXT содержит в одной строке целые числа N и K (1 ≤ K ≤ N ≤ 50), разделенные пробелом.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно число — количество правильных скобочных
последовательностей с n открывающимися скобками, которые имеют глубину k.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 2 3
2 37 23 203685956218528

Задача №177
Склад
(Время: 1 сек. Память: 16 Мб Сложность: 58%)

https://acmp.ru/index.asp?main=alltasks 88/591
2/29/2020 Все задачи сайта

На роботизированном складе имеется n отсеков, в которые робот может размещать грузы. Отсек с номером i имеет
вместимость ci. Груз с номером i имеет размер si, поступает на склад в момент времени ai и забирается со склада в момент
времени di. Вместимость отсека и размер груза имеют одну и ту же размерность. Если в отсеке с вместимостью c
находится несколько грузов с суммарным размером d, то свободное место в этом отсеке равно c – d.
Когда груз с номером i поступает на склад, робот сначала пытается найти отсек, в котором достаточно свободного
места для размещения этого груза. Если отсеков, в которых достаточно свободного места, несколько, то робот помещает
груз в тот из них, в котором свободного места меньше. Если и таких отсеков несколько, то робот выбирает отсек с
минимальным номером.
Если отсеков с достаточным количеством свободного места нет, робот пытается переместить грузы, уже
расположенные в отсеках. Для этого он пытается найти такой отсек и такой груз в нем, что перемещение его в другой
отсек обеспечивает достаточное количество свободного места для размещения поступившего груза. Если таких вариантов
перемещения грузов несколько, то выбирается тот вариант, в котором потребуется перемещение груза с минимальным
размером. Если и таких вариантов несколько, то выбирается вариант перемещения, при котором в отсеке, из которого
перемещается груз, свободное место после перемещения этого груза будет минимально, а при прочих равных условиях —
тот вариант, при котором в отсеке, куда осуществляется перемещение, свободное место после этого перемещения будет
также минимально. Если и после этого остается более одного варианта, то выбирается тот вариант, при котором номер
перемещаемого груза минимален и номер отсека, в который он перемещается, – также минимален. Если варианта с
перемещением одного груза найти не удалось, то груз не принимается на склад.
Требуется написать программу, которая по списку грузов, поступающих для размещения на складе, выводит
последовательность действий, выполняемых роботом.

Входные данные
Первая строка входного файла содержит два целых числа: n — количество отсеков, и m — количество грузов (1 ≤ n ≤
10, 1 ≤ m ≤100). Вторая строка содержит n целых чисел ci, определяющих вместимости отсеков (1 ≤ ci ≤ 109).
Последующие m строк описывают грузы: каждый груз описывается тремя целыми числами: своим размером si, временем
поступления на склад ai и временем, когда его забирают со склада di (1 ≤ si ≤ 109, 1 ≤ ai < di ≤ 1000, все времена во входном
файле различны, грузы упорядочены по возрастанию времени поступления на склад). Все числа в строках разделены
пробелом.

Выходные данные
Выведите последовательность действий робота в том порядке, в котором они выполняются. Следуйте формату
выходного файла, приведенного в примере. Возможны следующие сообщения:

put cargo X to cell Y - разместить груз с номером X в отсеке с номером Y;


move cargo X from cell Y to cell Z - переместить груз с номером X из отсека с номером Y в отсек с номером Z;
take cargo X from cell Y - взять груз с номером X из отсека с номером Y.
cargo X cannot be stored - груз X невозможно переместить

Пример
№ INPUT.TXT OUTPUT.TXT
1 1 put cargo 1 to cell 1
1 3 take cargo 1 from cell 1
3 1 2
3 5 put cargo 1 to cell 2
3 2 10 put cargo 2 to cell 1
1 1 6 put cargo 3 to cell 3
3 2 8 move cargo 1 from cell 2 to cell 3
9 3 5 put cargo 4 to cell 2
2
2 4 9 take cargo 3 from cell 3
12 7 10 take cargo 1 from cell 3
cargo 5 cannot be stored
take cargo 2 from cell 1
take cargo 4 from cell 2

https://acmp.ru/index.asp?main=alltasks 89/591
2/29/2020 Все задачи сайта

Задача №178
Преобразование последовательности
(Время: 2 сек. Память: 32 Мб Сложность: 35%)
Задана последовательность, содержащая n целых чисел. Необходимо найти число, которое встречается в этой
последовательности наибольшее количество раз, а если таких чисел несколько, то найти минимальное из них, и после
этого переместить все такие числа в конец заданной последовательности. Порядок расположения остальных чисел должен
остаться без изменения.
Например, последовательность 1, 2, 3, 2, 3, 1, 2 после преобразования должна превратиться в последовательность 1, 3,
3, 1, 2, 2, 2.
Требуется написать программу, которая решает данную задачу.

Входные данные
Первая строка входного файла INPUT.TXT содержит число n — количество чисел во входной последовательности (3 ≤
n ≤ 200000). Следующая строка содержит входную последовательность, состоящую из n целых чисел, не превышающих по
модулю 106. Все числа в строке разделены пробелом.

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

Пример
№ INPUT.TXT OUTPUT.TXT
7 1 3 3 1 2 2 2
1
1 2 3 2 3 1 2

Задача №179
Последовательность
(Время: 1 сек. Память: 16 Мб Сложность: 47%)
Рассмотрим числовую последовательность, первоначально состоящую из двух единиц: 1, 1. Далее на каждом
последующем шаге будем вставлять между соседними элементами их сумму. В примере добавляемые элементы выделены:
Номер шага Последовательность
0 1, 1
1 1, 2, 1
2 1, 3, 2, 3, 1
3 1, 4, 3, 5, 2, 5, 3, 4, 1
Требуется написать программу, которая подсчитает сумму членов последовательности, построенной за K шагов.

Входные данные
Входной файл INPUT.TXT содержит одно натуральное число K (0 ≤ K ≤ 100) – номер последнего шага.

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

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 28
2 10 59050

https://acmp.ru/index.asp?main=alltasks 90/591
2/29/2020 Все задачи сайта

Задача №180
Счастливая страница
(Время: 1 сек. Память: 16 Мб Сложность: 46%)
В новом выпуске Большой Галактической Энциклопедии N страниц. Петя считает страницу счастливой, если
произведение цифр, входящих в ее номер, равно K. Например, если N=100, то для K=42 есть счастливая страница
(например, с номером 76), а для K=128 счастливой страницы нет.
Требуется написать программу, которая поможет Пете определить, есть ли счастливые страницы в новом выпуске
энциклопедии.

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

Входной текстовый файл INPUT.TXT содержит числа N (1 ≤ N ≤ 109) и K (1 ≤ K ≤ 109), записанные через пробел.

Выходные данные
Выходной текстовый файл OUTPUT.TXT должен содержать «YES», если счастливые страницы есть, и «NO» иначе.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 100 42 YES
2 100 128 NO

Задача №181
Космический мусорщик
(Время: 1 сек. Память: 16 Мб Сложность: 42%)
В околоземном космическом пространстве накопилось много мусора, поэтому ученые сконструировали специальный
аппарат ловушку для космического мусора. Аппарат должен двигаться по достаточно сложной траектории, сжигая по пути
мусор. Ловушка может передвигаться в пространстве по 6 направлениям: на север (N), на юг (S), на запад (W), на восток
(E), вверх (U) и вниз (D). Движением ловушки управляет процессор. Программа движения задается шестью правилами
движения, которые соответствуют каждому из указанных направлений. Каждое такое правило представляет собой строку
символов из множества {N, S, W, E, U, D}.
Команда ловушки состоит из символа направления и целого положительного числа M. Если параметр больше 1, то
ловушка перемещается на один метр в направлении, которое указано в команде, а затем последовательно выполняет
команды, заданные правилом для данного направления, с параметром меньше на 1. Если же параметр равен 1, то просто
перемещается на один метр в указанном направлении.

Пусть, например, заданы правила, отраженные в таблице справа. Тогда при Направление Правило
выполнении команды S(3) мусорщик сначала переместится на 1 метр в направлении N N
S, а потом выполнит последовательно команды N(2), U(2), S(2), D(2), D(2), U(2), S(2), S NUSDDUSE
E(2).
W UEWWD
Если далее проанализировать действия мусорщика, получим, что в целом он E
совершит ровно 34 перемещения.
U U
D WED

Входные данные
Первые шесть строк входного файла INPUT.TXT задают правила для команд с направлением N, S, W, E, U и D
соответственно. Каждая строка содержит не более 100 символов (и может быть пустой). Следующая строка содержит
команду ловушки: сначала символ из множества {N, S, W, E, U, D}, затем пробел и параметр команды – целое
положительное число, не превышающее 100.

Выходные данные
Выведите в выходной файл OUTPUT.TXT единственное число - количество перемещений, которое совершит ловушка.
Гарантируется, что ответ не превышает 109.
https://acmp.ru/index.asp?main=alltasks 91/591
2/29/2020 Все задачи сайта

Пример
№ INPUT.TXT OUTPUT.TXT
N 34
NUSDDUSE
UEWWD
1
U
WED
S 3

Задача №182
Прямоугольник - 2
(Время: 1 сек. Память: 16 Мб Сложность: 27%)
Заданы координаты трех вершин прямоугольника. Необходимо определить координаты четвертой вершины.

Входные данные
Во входном файле INPUT.TXT записаны через пробел координаты трех вершин прямоугольника в произвольном
порядке в формате x1 y1 x2 y2 x3 y3. Все числа целые, не превосходящие 1000 по абсолютной величине.

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

Примеры
№ INPUT.TXT OUTPUT.TXT
1 0 3 0 0 5 0 5 3
2 1 4 8 3 7 6 2 1

Задача №183
Энты
(Время: 1 сек. Память: 16 Мб Сложность: 39%)
Энты были созданы в Первоначальную эпоху вместе с другими обитателями Средиземья. Эльфийские легенды гласят,
что когда Варда зажгла звёзды и пробудились Эльфы, вместе с ними пробудились и Энты в Великих Лесах Арды.
Когда Энты пришли в Арду, они ещё не умели говорить — этому искусству их обучали Эльфы, и Энтам это ужасно
нравилось. Им доставляло удовольствие изучать разные языки, даже щебетание Людей.
Эльфы выработали хорошую технику обучения энтов своему языку. Первый энт, которого обучили эльфы, выучил
всего два слова — «tancave» (да) и «la» (нет). Обученный энт выбрал одного старого и одного молодого энта, не умеющих
говорить, и обучил их всем словам, которые знал сам. Затем обучение этих двух энтов продолжили сами эльфы. Каждый
обучившийся у эльфов энт снова выбирал из неговорящих сородичей одного старого и одного молодого, обучал их всем
словам, которые знал, передавал эльфам и так далее.
Выяснилось, что более молодые энты выучивали у эльфов ещё ровно столько же слов, сколько они узнали от
обучавшего их энта. А вот более старые, уже склонные к одеревенению энты, пополняли свой запас всего лишь одним
словом. После обучения у эльфов энты до конца света уже не могли выучить ни одного нового слова.
Общее число энтов в Средиземье больше, чем вы думаете. Интересно, а сколько из них знают ровно 150 квенийских
слов? Похожую задачу вам предстоит решить.

Входные данные
Входной файл INPUT.TXT содержит натуральные числа K и P (K ≤ 106; 1 ≤ P ≤ 109), записанные через пробел.

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

https://acmp.ru/index.asp?main=alltasks 92/591
2/29/2020 Все задачи сайта

Мы понимаем, что число энтов, знающих в точности K слов, может быть слишком велико, поэтому просим вывести в
выходной файл OUTPUT.TXT лишь количество энтов, знающих ровно K слов, по модулю P.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 4 10 2
2 8 10 5
3 360 1000 179

Задача №184
Рабочее время
(Время: 1 сек. Память: 16 Мб Сложность: 35%)
Иван Иванович – очень ответственный, но очень рассеянный человек. Поэтому когда он начинает очередное дело, он
на отдельном листочке пишет дату и время начала (например, 29.01. 10:30), а когда заканчивает, то так же на отдельном
листочке – дату и время окончания (например, 02.02. 12:15). Листочки аккуратно укладываются в стопку один на другой. А
так как одновременно Иван Иванович может заниматься только одним делом, то листочки однозначно упорядочены в
стопке: листок начала какого-то дела, листок окончания этого дела, листок начала, листок окончания… и т.д. Дело
начинается в начале минуты, указанной в листочке начала этого дела, а заканчивается в конце минуты, указанной на
листочке окончания. Иван Иванович ходит на работу каждый день и его рабочий день продолжается с 10:00 до 18:00.
Таким образом, пара листочков «18.11. 15:13» — «20.11. 10:27» была написана при начале и окончании дела
длительностью 11ч.15м.
Однажды в конце декабря уборщица Дуся нечаянно уронила эту стопку на пол и, не зная важной закономерности их
укладки, собрала листочки обратно в каком-то произвольном порядке. Иван Иванович обнаружил этот прискорбный факт
только 31 декабря, когда ему надо было произвести учет своего рабочего времени за год. Год был невисокосный.
Помогите Ивану Ивановичу найти его суммарные затраты времени за год.

Входные данные
Входной файл INPUT.TXT содержит в первой строке число листочков K, (K – четное число, не большее 5000). Далее
записаны K строк с данными на листочках в формате DD.MM. hh:mm, где DD – число, MM – номер месяца, hh – часы и
mm – минуты.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать запись вида h:mm – количество часов и минут, отработанных Иваном
Ивановичем. При этом число h ≥ 0 выводится без ведущих нулей, а число 0 ≤ mm ≤ 59 выводится с ведущими нулями.

Пример
№ INPUT.TXT OUTPUT.TXT
4 103:02
15.01. 17:00
1 16.01. 12:00
11.02. 14:00
30.01. 10:00

Задача №185
Скачки
(Время: 1 сек. Память: 16 Мб Сложность: 32%)
Иван Иванович любит ходить на скачки, надеясь на них заработать кругленькую сумму. Ему приглянулась лошадь с
номером K, и он решил проверить, сможет ли она выиграть у всех остальных лошадей. Иван Иванович раздобыл
информацию, в которой для некоторых пар лошадей сообщается, какая из этих лошадей быстрее. Также он узнал, что у
всех лошадей разные скорости.
Требуется написать программу, которая поможет Ивану Ивановичу точно определить может ли выиграть выбранная
им лошадь.

https://acmp.ru/index.asp?main=alltasks 93/591
2/29/2020 Все задачи сайта

Входные данные
Входной файл INPUT.TXT содержит в первой строке два целых числа N (1 ≤ N ≤ 100) и K (1 ≤ K ≤ N), где N –
количество лошадей, принимающих участие в скачках, K – номер лошади, на которую хочет сделать ставку Иван
Иванович. Следующие строки содержат по два числа X и Y (1 ≤ X, Y ≤ N), обозначающие, что лошадь с номером X
быстрее лошади с номером Y. Пары X и Y не повторяются. Набор данных завершается строкой, содержащей единственный
ноль. Эту строку обрабатывать не надо.
Гарантируется, что информация, раздобытая Иваном Ивановичем, корректна.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать слово «Yes», если Иван Иванович уверен в своем выигрыше и «No»
в противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 1 Yes
1 2
1
1 3
0
3 2 No
2 2 3
0
4 2 No
3 1
3
2 3
0

Задача №186
Субботник
(Время: 1 сек. Память: 16 Мб Сложность: 44%)
В этом году Иван Иванович решил отметить приход осени субботником, чтобы убрать весь мусор во дворе дома номер
31 по улице Осенней. На субботник он пригласил N знакомых старушек, живущих в том же самом доме. Однако, в самом
начале мероприятия выяснилось, что по одиночке старушки работают плохо, так как им хочется во время работы еще и
поговорить друг с другом.
Иван Иванович подумал и принял волевое решение разбить старушек на группы так, чтобы в каждой группе было не
менее 2 старушек. Старушки отличаются друг от друга уровнем разговорчивости, и если в одну группу попадут две
старушки, у одной из которых маленький уровень разговорчивости, а у второй - большой, то они не могут поговорить друг
с другом и работа будет стопориться.
Назовем разговорчивостью группы разность между максимальным и минимальным уровнями разговорчивости
старушек в группе. Например, если уровни разговорчивости старушек в группе равны 7, 3 и 11, то разговорчивость группы
равна 11 - 3 = 8. Разговорчивостью разбиения старушек на группы назовем максимальную из разговорчивостей групп,
входящих в разбиение.
Требуется написать программу, которая поможет Ивану Ивановичу найти разбиение старушек на группы,
разговорчивость которого минимальна.

Входные данные
Входной файл INPUT.TXT содержит в первой строке число N (2 ≤ N ≤ 1000) – количество старушек. Во второй строке
записано N чисел от 1 до 109 – разговорчивости старушек.

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

Примеры
https://acmp.ru/index.asp?main=alltasks 94/591
2/29/2020 Все задачи сайта

№ INPUT.TXT OUTPUT.TXT
2 999999999
1
1 1000000000
3 2
2
1 2 3
8 0
3
1 10 100 1000 1000 100 10 1
10 102
4
258 740 156 244 458 680 390 694 844 817

Задача №187
Пчелка
(Время: 1 сек. Память: 16 Мб Сложность: 53%)
Представьте себе пчелиные соты – поле из шестиугольных клеток со стороной N. В верхней левой клетке A находится
пчелка. За один ход она может переползти на клетку вниз, на клетку вниз-вправо или на клетку вверх-вправо (вверх и
влево пчелка не ползает).
Требуется написать программу, которая найдет количество способов, которыми пчелка может доползти из клетки A в
противоположную клетку B.

Входные данные
Входной файл INPUT.TXT содержит единственное число N – размеры шестиугольного поля (2 ≤ N ≤ 12).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать единственное целое число – количество способов.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 11
2 3 291

Задача №188
День рождения
(Время: 1 сек. Память: 16 Мб Сложность: 65%)
Иван Иванович пригласил на свой день рождения много гостей. Он написал на карточках фамилии всех гостей и
разложил эти карточки на столе, полагая, что каждый гость сядет там, где обнаружит карточку со своей фамилией
(фамилии у всех гостей различны). Однако гости не обратили внимания на карточки и сели за стол в произвольном
порядке. При этом Иван Иванович с удивлением обнаружил, что ни один гость не сел на предназначенное ему место.
Требуется написать программу, которая найдет сколькими способами можно рассадить гостей так, чтобы ни один из
них не сидел там, где лежала карточка с его фамилией.
https://acmp.ru/index.asp?main=alltasks 95/591
2/29/2020 Все задачи сайта

Входные данные
Во входном файле INPUT.TXT задано целое число N – количество гостей (1 ≤ N ≤ 100).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно целое число – количество способов рассадить гостей.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 0
2 2 1
3 5 44
4 20 895014631192902121

Задача №189
Перестановка по номеру
(Время: 1 сек. Память: 16 Мб Сложность: 47%)
Перестановкой из N элементов называется упорядоченный набор из N различных чисел от 1 до N. Количество всех
перестановок порядка N равно PN = N!
Требуется найти перестановку по ее номеру в лексикографическом порядке (по алфавиту). Например, для N=3
лексикографический порядок перестановок выглядит следующим образом:
(1,2,3), (1,3,2), (2,1,3), (2,3,1), (3,1,2), (3,2,1).
Таким образом, перестановка (2,3,1) имеет номер 4 в этой последовательности.

Входные данные
В первой строке входного файла INPUT.TXT записано число N (1 ≤ N ≤ 12) - количество элементов в перестановке, во
второй - число K (1 ≤ K ≤ N!) - номер перестановки.

Выходные данные
В выходной файл OUTPUT.TXT выведите через пробел N чисел - искомую перестановку.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1
1
1
3 1 3 2
2
2

Задача №190
По размещению!
(Время: 1 сек. Память: 16 Мб Сложность: 56%)
Перестановкой из N элементов называется упорядоченный набор из N различных чисел от 1 до N.
Размещением порядка K называют подмножество элементов некоторой перестановки порядка N. Например, (1, 3) –
размещение порядка 2 для перестановки (1, 2, 3) порядка 3.
Требуется по заданному размещению определить его позицию в лексикографическом порядке всех возможных
размещений, образованных из всевозможных перестановок порядка N.
Например, лексикографическая последовательность всевозможных размещений для K=2 и N=3 выглядит следующим
образом:

https://acmp.ru/index.asp?main=alltasks 96/591
2/29/2020 Все задачи сайта

(1,2), (1,3), (2,1), (2,3), (3,1), (3,2)


Таким образом, перемещение (2,3) имеет номер 4 в этой последовательности.

Входные данные
В первой строке входного файла INPUT.TXT находятся числа N и K (1 ≤ K ≤ N ≤ 12). Во второй строке записаны K
чисел из диапазона от 1 до N - размещение.

Выходные данные
В выходной файл OUTPUT.TXT выведите единственное число - номер данного размещения.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 2 6
1
3 2
6 4 14
2
1 3 2 5

Задача №191
Гладкие числа
(Время: 1 сек. Память: 16 Мб Сложность: 60%)
Назовем число гладким, если его цифры, начиная со старшего разряда, образуют неубывающую последовательность.
Упорядочим все такие числа в возрастающем порядке и присвоим каждому номер.
Вам требуется по номеру N вывести N-ое гладкое число.

Входные данные
Во входном файле INPUT.TXT содержится номер N (1 ≤ N ≤ 2147483647).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать искомое N-е гладкое число.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1
2 11 12
3 239 1135

Задача №192
Следующая перестановка ...
(Время: 1 сек. Память: 16 Мб Сложность: 46%)
Перестановкой из N элементов называется упорядоченный набор из N различных чисел от 1 до N.
Найдите по заданной перестановке следующую в лексикографическом порядке (будем считать, что за перестановкой
(N, N-1, ... , 3, 2, 1) следует тождественная перестановка, то есть (1, 2, 3, ... , N)).

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

В первой строке входного файла INPUT.TXT содержится число N (1 ≤ N ≤ 104). Во второй строке содержится
перестановка (последовательность натуральных чисел от 1 до N, разделенных пробелами).

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

https://acmp.ru/index.asp?main=alltasks 97/591
2/29/2020 Все задачи сайта

Выходной файл OUTPUT.TXT должен содержать искомую перестановку.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1
1
1
5 2 5 1 3 4
2
2 4 5 3 1

Задача №193
Поиск прямоугольников
(Время: 0,5 сек. Память: 16 Мб Сложность: 34%)
На поле N×M клеток (N строк и M столбцов) положили K прямоугольников один поверх другого в случайном порядке.
Длины сторон прямоугольников выражаются целым числом клеток. Прямоугольники не выходят за границы поля.
Границы прямоугольников совпадают с границами клеток поля.
Получившуюся ситуацию записали в таблицу чисел (каждой клетке поля соответствует клетка таблицы). Если клетка
поля не закрыта прямоугольником, то в соответствующую клетку таблицы записали число 0. Если же клетка закрыта
одним или несколькими прямоугольниками, то в соответствующую клетку таблицы записали число, соответствующее
номеру самого верхнего прямоугольника, закрывающего эту клетку.
Требуется написать программу, которая определит положение и размеры прямоугольников. Гарантируется, что во
входных данных содержится информация, которой достаточно для однозначного определения размеров прямоугольников.

Входные данные
Входной файл INPUT.TXT содержит в первой строке целые числа N, M, K (1 ≤ N ≤ 200, 1 ≤ M ≤ 200, 1 ≤ K ≤ 255).
Далее следует N строк по M чисел в каждой — содержимое таблицы. Все числа в таблице целые, находятся в диапазоне от
0 до K включительно.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать K строк. Каждая строка должна описывать
соответствующий ее номеру прямоугольник четырьмя числами X1 Y1 X2 Y2 (X1 и Y1 должны
описывать координаты левого нижнего угла прямоугольника, а X2 и Y2 — координаты правого верхнего
угла). Числа должны разделяться пробелом.
Начало координат расположено в левом нижнем углу таблицы. Таким образом, координаты левого
нижнего угла поля — (0,0), правого верхнего — (M,N).

Пример
№ INPUT.TXT OUTPUT.TXT
4 5 2 0 0 2 2
0 2 2 2 2 1 1 5 4
1 0 2 2 2 2
1 1 2 2 2
1 1 0 0 0

Задача №194
Фотограф-зануда
(Время: 1 сек. Память: 16 Мб Сложность: 55%)
Однажды глава семейства заказал фотографию своей большой семьи, состоящей из N человек, возраст которых 1 год,
2 года, …, N-1 лет и N лет. На фотографии должны присутствовать все родственники, и для этого они должны
расположиться в один ряд. Сначала было решено расположить родственников по старшинству, начиная с самого младшего.
Но фотограф сказал, что, возможно, на фото это будет выглядеть неестественно. Тогда было решено использовать
следующее размещение:

1. слева сидит ребенок возрастом в 1 год


https://acmp.ru/index.asp?main=alltasks 98/591
2/29/2020 Все задачи сайта

2. разность возрастов двух соседних родственников не превышает 2 года

Действительно, на фотографии, таким образом, все будут все равно выглядеть, будто расположенные по старшинству
(ведь среди людей возрастом, к примеру, 25 и 27 лет не так легко определить старшего). Способов такой посадки
существует, понятно, несколько. Фотограф снял все такие способы. Сколько же фотографий получилось в итоге?

Входные данные
Во входном файле INPUT.TXT содержится число N (1 ≤ N ≤ 55) – количество членов большой семьи.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать искомое число фотографий.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 4 4
2 7 14

Задача №195
Эния
(Время: 1 сек. Память: 16 Мб Сложность: 3%)
Неспокойно сейчас на стапелях шестого дока межгалактического порта планеты Торна. Всего через месяц закончится
реконструкция малого броненесущего корвета “Эния”. И снова этому боевому кораблю и его доблестной команде
предстоят тяжелые бои за контроль над плутониевыми рудниками Сибелиуса. Работа не прекращается ни на секунду,
лазерные сварочные аппараты работают круглые сутки. От непрерывной работы плавятся шарниры роботов-ремонтников.
Но задержаться нельзя ни на секунду.
И вот в этой суматохе обнаруживается, что термозащитные панели корвета вновь требуют срочной обработки
сульфидом тория. Известно, что на обработку одного квадратного метра панели требуется 1 нанограмм сульфида. Всего
необходимо обработать N прямоугольных панелей размером A на B метров. Вам необходимо как можно скорее подсчитать,
сколько всего сульфида необходимо на обработку всех панелей “Энии”. И не забудьте, что панели требуют обработки с
обеих сторон.

Входные данные
Во входном файле INPUT.TXT содержатся 3 целых положительных числа N (N ≤ 100), A (A ≤ 100), B (B ≤ 100)

Выходные данные
В выходной файл OUTPUT.TXT нужно вывести единственное число – вес необходимого для обработки сульфида
тория в нанограммах.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 5 2 3 60
2 14 23 5 3220

Задача №196
Спираль
(Время: 1 сек. Память: 16 Мб Сложность: 38%)
Требуется вывести квадрат, состоящий из N×N клеток, заполненных числами от 1 до N2 по
спирали (см. примеры).

Входные данные
Во входном файле INPUT.TXT задано целое число N – размер квадратной матрицы (2 ≤ N ≤ 100).
https://acmp.ru/index.asp?main=alltasks 99/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT выведите матрицу, заполненную числами от 1 до N2 по спирали, при этом между
числами может быть любое количество пробелов. Не допускается начинать спираль в ином, кроме верхнего левого, углу,
закручивать спираль против часовой стрелки или изнутри наружу.

Пример
№ INPUT.TXT OUTPUT.TXT
3 1 2 3
1 8 9 4
7 6 5
4 1 2 3 4
12 13 14 5
2
11 16 15 6
10 9 8 7
5 1 2 3 4 5
16 17 18 19 6
3 15 24 25 20 7
14 23 22 21 8
13 12 11 10 9

Задача №197
Змейка
(Время: 1 сек. Память: 16 Мб Сложность: 40%)
Требуется заполнить змейкой квадратную матрицу так, как показано на рисунке справа: заполнение
происходит с единицы из левого верхнего угла и заканчивается в правом нижнем числом N2, где N –
порядок матрицы.

Входные данные
Во входном файле INPUT.TXT задано натуральное число N – размер квадратной матрицы (N ≤ 100).

Выходные данные
В выходной файл OUTPUT.TXT выведите матрицу, заполненную числами от 1 до N2 змейкой, при этом между
числами может быть любое количество пробелов.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 1 3 4 10
2 5 9 11
1
6 8 12 15
7 13 14 16

Задача №198
Система линейных уравнений
(Время: 1 сек. Память: 16 Мб Сложность: 57%)
Требуется решить невырожденную систему, состоящую из N линейных уравнений с N неизвестными:

https://acmp.ru/index.asp?main=alltasks 100/591
2/29/2020 Все задачи сайта

Входные данные
В первой строке входного файла INPUT.TXT задано натуральное число N – ранг системы, далее следуют N строк,
каждая из которых состоит из N+1 целых чисел: коэффициенты i-й строки уравнения – N чисел aij и bi. (N ≤ 100, |aij|<10,
|bi|<104). Числа разделены одним или несколькими пробелами. Перед первым числом строки может быть ноль, один или
несколько пробелов.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести через пробел корни приведенной во входном
файле системы линейных уравнений. Корни следует выводить в порядке возрастания их номеров (x1, x2, ... xn).
Гарантируется, что все корни целые и не превосходят значения 10 по абсолютной величине.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 7 3
1 5 9 62
9 -3 54
3 8 5 -9
7 -9 1 2
2
0 6 5 -15
3 -3 2 -9

Задача №199
Римские числа
(Время: 1 сек. Память: 16 Мб Сложность: 50%)
Необходимо сократить дробь, записанную в римской системе счисления. Напомним, что в римской записи
используются символы M, D, C, L, X, V и I. Приведем таблицу с примерами перевода римских чисел в арабскую систему:
I - 1 VII - 7 XLVI - 46 CCCII - 302
II - 2 VIII - 8 L - 50 CDXLI - 441
III - 3 IX - 9 LXXV - 75 ID - 499
IV - 4 X - 10 XCII - 92 D - 500
V - 5 XVIII - 18 IC - 99 DCXCV - 695
VI - 6 XXXI - 31 C - 100 CM - 900

Входные данные
Во входном файле INPUT.TXT записана дробь в римской системе счисления. Формат записи считается корректным,
если запись представляет собой: римское число, деление, римское число (без пробелов), и каждое из чисел находится в
диапазоне от 1 до 999. Строка заданной дроби состоит не более, чем из 100 символов.

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

https://acmp.ru/index.asp?main=alltasks 101/591
2/29/2020 Все задачи сайта

Примеры
№ INPUT.TXT OUTPUT.TXT
1 II/IV I/II
2 XXIV/VIII III
3 12/16 ERROR

Задача №200
Марсианские факториалы
(Время: 1 сек. Память: 16 Мб Сложность: 60%)
В 3141 году очередная экспедиция на Марс обнаружила в одной из пещер таинственные знаки. Они однозначно
доказывали существование на Марсе разумных существ. Однако смысл этих таинственных знаков долгое время оставался
неизвестным. Недавно один из ученых, профессор Очень-Умный, заметил один интересный факт: всего в надписях,
составленных из этих знаков, встречается ровно K различных символов. Более того, все надписи заканчиваются на
длинную последовательность одних и тех же символов.
Вывод, который сделал из своих наблюдений профессор, потряс всех ученых Земли. Он предположил, что эти надписи
являются записями факториалов различных натуральных чисел в системе счисления с основанием K. А символы в конце –
это конечно же нули – ведь, как известно, факториалы больших чисел заканчиваются большим количеством нулей.
Например, в нашей десятичной системе счисления факториалы заканчиваются на нули начиная с 5! = 1·2·3·4·5 = 120. А у
числа 100! в конце следует 24 нуля в десятичной системе счисления и 48 нулей в системе счисления с основанием 6 – так
что у предположения профессора есть разумные основания!
Теперь ученым срочно нужна программа, которая по заданным числам N и K найдет количество нулей в конце записи
в системе счисления с основанием K числа N! = 1·2·3·…·(N-1)·N, чтобы они могли проверить свою гипотезу. Вам придется
написать им такую программу!

Входные данные
Входной файл INPUT.TXT содержит числа N и K, разделенные пробелом. (1 ≤ N ≤ 109, 2 ≤ K ≤ 1000).

Выходные данные
Выведите в выходной файл OUTPUT.TXT число X - количество нулей в конце записи числа N! в системе счисления с
основанием K.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 5 10 1
2 100 10 24
3 100 6 48
4 3 10 0

Задача №201
Пакетная обработка процессов
(Время: 1 сек. Память: 16 Мб Сложность: 53%)
Для ускорения прохождения «коротких» заданий на ЭВМ выбран пакетный режим работы с квантованием времени
процессора. Это значит, что всем заданиям пакета по очереди представляется процессор на одинаковое время 10 с
(круговой циклический алгоритм разделения времени). Если в течение этого времени заканчивается выполнение задания,
оно покидает систему и освобождает процессор. Если же очередного кванта времени не хватает для завершения задания,
оно помещается в конец очереди — пакета. Последнее задание пакета выполняется без прерываний. Пакет считается
готовым к вводу в ЭВМ, если в нем содержится K заданий. Новый пакет вводится в ЭВМ после окончания обработки
предыдущего. Задания поступают в систему с интервалом времени 60 ± 30 с и характеризуются временем работы
процессора 50 ± 45 с.
Требуется смоделировать процесс обработки N заданий и определить время начала и окончания каждого процесса.

https://acmp.ru/index.asp?main=alltasks 102/591
2/29/2020 Все задачи сайта

Входные данные
На первой строке входного файла INPUT.TXT находятся числа N и K - число процессов и количество процессов в
пакете (1 ≤ N ≤ 1000, 1 ≤ K ≤ 100). Гарантируется, что N делится на K. Далее следуют N строк с информацией о времени
формирования и необходимое время на выполнение для каждого процесса. Все процессы стартуют в один день и следуют
в порядке возрастания времени ввода их в систему.

Выходные данные
Выведите в выходной файл OUTPUT.TXT для каждого процесса в отдельной строке время его старта и время
окончания через пробел в формате ЧЧ:ММ:СС.

Пример
№ INPUT.TXT OUTPUT.TXT
6 2 00:02:14 00:04:17
00:01:02 63 00:02:24 00:04:33
00:02:14 76 00:04:33 00:04:57
1 00:03:16 14 00:04:43 00:05:06
00:04:02 19 00:05:45 00:06:12
00:04:36 17 00:05:55 00:07:17
00:05:45 75

Задача №202
Поиск подстроки
(Время: 0,2 сек. Память: 16 Мб Сложность: 38%)
Найти все вхождения строки T в строке S.

Входные данные
В первой строке входного файла INPUT.TXT записана строка S, во второй строке записана строка T. Обе строки
состоят только из английских букв. Длины строк могут быть в диапазоне от 1 до 50 000 включительно.

Выходные данные
В выходной файл OUTPUT.TXT нужно вывести все вхождения строки T в строку S в порядке возрастания. Нумерация
позиций строк начинается с нуля.

Пример
№ INPUT.TXT OUTPUT.TXT
ababbababa 0 5 7
1
aba

Задача №203
Сдвиг текста
(Время: 0,5 сек. Память: 16 Мб Сложность: 31%)
Мальчик Кирилл написал однажды на листе бумаги строчку, состоящую из больших и маленьких английских букв, а
после этого ушел играть в футбол. Когда он вернулся, то обнаружил, что его друг Дима написал под его строкой еще одну
строчку такой же длины. Дима утверждает, что свою строчку он получил циклическим сдвигом строки Кирилла направо на
несколько шагов (циклический сдвиг строки abcde на 2 позиции направо даст строку deabc). Однако Дима известен тем,
что может случайно ошибиться в большом количестве вычислений, поэтому Кирилл в растерянности - верить ли Диме?
Помогите ему!
По данным строкам выведите минимально возможный размер сдвига вправо или -1, если Дима ошибся.

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

https://acmp.ru/index.asp?main=alltasks 103/591
2/29/2020 Все задачи сайта

Первые две строки входного файла INPUT.TXT содержат строки Кирилла и Димы соответственно. Строки состоят
только из английских символов. Длины строк одинаковы, не превышают 10000 и не равны 0.

Выходные данные
В выходной файл OUTPUT.TXT выведите единственное число - ответ на поставленную задачу.

Пример
№ INPUT.TXT OUTPUT.TXT
abcde 2
1
deabc

Задача №204
Циклическая строка
(Время: 1 сек. Память: 16 Мб Сложность: 53%)
Строка S была записана много раз подряд, после чего из получившейся строки взяли подстроку и дали Вам. Ваша
задача определить минимально возможную длину исходной строки S.

Входные данные
В единственной строке входного файла INPUT.TXT записана строка, которая содержит только английские буквы,
длина строки не превышает 50000 символов.

Выходные данные
В выходной файл OUTPUT.TXT нужно вывести одно число - ответ на задачу.

Пример
№ INPUT.TXT OUTPUT.TXT
1 abababa 2

Задача №205
Таймер
(Время: 1 сек. Память: 16 Мб Сложность: 31%)
Таймер - это часы, которые умеют подавать звуковой сигнал по прошествии некоторого периода времени. Напишите
программу, которая определяет, когда должен быть подан звуковой сигнал.

Входные данные
В первой строке входного файла INPUT.TXT записано текущее время в формате ЧЧ:ММ:СС (с ведущими нулями).
При этом оно удовлетворяет ограничениям: ЧЧ - от 00 до 23, ММ и СС - от 00 до 60.
Во второй строке записан интервал времени, который должен быть измерен. Интервал записывается в формате Ч:М:С
(где Ч, М и С - от 0 до 109, без ведущих нулей). Дополнительно если Ч=0 (или Ч=0 и М=0), то они могут быть опущены.
Например, 100:60 на самом деле означает 100 минут 60 секунд, что то же самое, что 101:0 или 1:41:0. А 42 обозначает 42
секунды. 100:100:100 - 100 часов, 100 минут, 100 секунд, что то же самое, что 101:41:40.

Выходные данные
В выходной файл OUTPUT.TXT выведите в формате ЧЧ:ММ:СС время, во сколько прозвучит звуковой сигнал. При
этом если сигнал прозвучит не в текущие сутки, то дальше должна следовать запись +<кол во> days. Например, если
сигнал прозвучит на следующий день – то +1 days.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 01:01:01 01:01:01+2 days
https://acmp.ru/index.asp?main=alltasks 104/591
2/29/2020 Все задачи сайта
48:0:0
01:01:01 02:01:00
2
58:119
23:59:59 00:00:00+1 days
3
1

Задача №206
Домой на электричках
(Время: 1 сек. Память: 16 Мб Сложность: 50%)
Одна из команд-участниц олимпиады решила вернуться домой на электричках. При этом ребята хотят попасть домой
как можно раньше. К сожалению, не все электрички идут от города, где проводится олимпиада, до станции, на которой
живут ребята. И, что еще более обидно, не все электрички, которые идут мимо их станции, останавливаются на ней (равно
как вообще, электрички останавливаются далеко не на всех станциях, мимо которых они идут).
Все станции на линии пронумерованы числами от 1 до N. При этом станция номер 1 находится в городе, где
проводится олимпиада, и в момент времени 0 ребята приходят на станцию. Станция, на которую нужно попасть ребятам,
имеет номер E.
Напишите программу, которая по данному расписанию движения электричек вычисляет минимальное время, когда
ребята могут оказаться дома.

Входные данные
Во входном файле INPUT.TXT записаны сначала числа N (2 ≤ N ≤ 100) и E (2 ≤ E ≤ N). Затем записано число M (0 ≤ M
≤ 100), обозначающее число рейсов электричек. Далее идет описание M рейсов электричек. Описание каждого рейса
электрички начинается с числа Ki (2 ≤ Ki ≤ N) — количества станций, на которых она останавливается, а далее следует Ki
пар чисел, первое число каждой пары задает номер станции, второе — время, когда электричка останавливается на этой
станции (время выражается целым числом из диапазона от 0 до 109). Станции внутри одного рейса упорядочены в порядке
возрастания времени. В течение одного рейса электричка все время движется в одном направлении — либо от города, либо
к городу.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число — минимальное время, когда ребята смогут оказаться на своей
станции. Если существующими рейсами электричек они добраться не смогут, выведите –1.

Пример
№ INPUT.TXT OUTPUT.TXT
5 3 20
4
2 1 5 2 10
1
2 2 10 4 15
4 5 0 4 17 3 20 2 35
3 1 2 3 40 4 45

Задача №207
Клад
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Найти закопанный пиратами клад просто: всё, что для этого нужно – это карта. Как известно, пираты обычно рисуют
карты от руки и описывают алгоритм действий. Большая часть таких действий просто сводится к прохождению какого-то
количества шагов в одном из восьми направлений (1 – север, 2 – северо-восток, 3 – восток, 4 – юго-восток, 5 – юг, 6 – юго-
запад, 7 – запад, 8 – северо-запад) (см. рис). Длина шага в любом направлении равна 1.
Путешествие по такому пути обычно является прекрасным способом посмотреть окрестности, однако в наше время
постоянной спешки ни у кого нет времени на это. Поэтому кладоискатели хотят идти напрямую в точку, где зарыт клад.
Например, вместо того, чтобы проходить три шага на север, один шаг на восток, один шаг на север, три шага на восток,
два шага на юг и один шаг на запад, можно пройти напрямую, использовав около 3.6 шага (см. рисунок).
Вам необходимо узнать точку, в которой находится клад согласно указаниям пиратов.
https://acmp.ru/index.asp?main=alltasks 105/591
2/29/2020 Все задачи сайта

Входные данные
Первая строка входного файла INPUT.TXT содержит число N – число указаний (1≤N≤40).
Последующие N строк содержат сами указания – номер направления (целое число от 1 до 8) и
количество шагов (целое число от 1 до 1000). Числа разделены пробелами.

Выходные данные
В выходной файл OUTPUT.TXT выведите координаты X и Y точки (два вещественных числа,
разделённые пробелом), где зарыт клад, считая, что ось OX направлена на восток, а ось OY – на
север. В начале кладоискатель должен стоять в начале координат. Координаты необходимо вывести
с точностью 10-3.

Примеры

№ INPUT.TXT OUTPUT.TXT
6 3.000 2.000
1 3
3 1
1 1 1
3 3
5 2
7 1
1 -7.071 7.071
2
8 10

Задача №208
Забавная игра
(Время: 1 сек. Память: 16 Мб Сложность: 30%)
Легендарный учитель математики Юрий Петрович придумал забавную игру с числами. А именно, взяв произвольное
целое число, он переводит его в двоичную систему счисления, получая некоторую последовательность из нулей и единиц,
начинающуюся с единицы. (Например, десятичное число 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.
Поскольку придуманная игра с числами все больше занимает воображение учителя, отвлекая тем самым его от работы
с ну очень одаренными школьниками, Вас просят написать программу, которая бы помогла Юрию Петровичу получать
результат игры без утомительных ручных вычислений.

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

Выходные данные
https://acmp.ru/index.asp?main=alltasks 106/591
2/29/2020 Все задачи сайта

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

Примеры
№ INPUT.TXT OUTPUT.TXT
1 19 28
2 1212 1938

Задача №209
Целые точки
(Время: 1 сек. Память: 16 Мб Сложность: 64%)
Многоугольник (не обязательно выпуклый) на плоскости задан координатами своих вершин. Требуется подсчитать
количество точек с целочисленными координатами, лежащих внутри него (но не на его границе).

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

В первой строке входного файла INPUT.TXT содержится N (3≤N≤103) – число вершин многоугольника. В
последующих N строках идут координаты (Xi, Yi) вершин многоугольника в порядке обхода по часовой стрелке. Xi и Yi -
целые числа, по модулю не превосходящие 106.

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

Примеры
№ INPUT.TXT OUTPUT.TXT
4 1
-1 -1
1 -1 1
1 1
1 -1
3 0
0 0
2
0 2
2 0

Задача №210
Степень
(Время: 1 сек. Память: 16 Мб Сложность: 59%)
Для того чтобы проверить, как её ученики умеют считать, Мария Ивановна каждый год задаёт им на дом одну и ту же
задачу – для заданного натурального A найти минимальное натуральное N такое, что N в степени N (N, умноженное на
себя N раз) делится на A. От года к году меняется только число A.
Вы решили помочь будущим поколениям. Для этого вам необходимо написать программу, решающую эту задачу.

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

Во входном файле INPUT.TXT содержится единственное число A (1 ≤ A ≤ 109 – на всякий случай, вдруг Мария
Ивановна задаст большое число, чтобы «завалить» кого-нибудь…).

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести единственное число N.

Примеры
№ INPUT.TXT OUTPUT.TXT
https://acmp.ru/index.asp?main=alltasks 107/591
2/29/2020 Все задачи сайта

1 8 4
2 13 13

Задача №211
Игра с фишками
(Время: 1 сек. Память: 16 Мб Сложность: 45%)
Вы являетесь одним из разработчиков новой компьютерной игры. Игра происходит на
прямоугольной доске, состоящей из W×H клеток. Каждая клетка может либо содержать, либо не
содержать фишку. Важной частью игры является проверка того, соединены ли две фишки путем,
удовлетворяющим следующим свойствам:
Путь должен состоять из отрезков вертикальных и горизонтальных прямых.
Путь не должен пересекать других фишек. При этом часть пути может оказаться вне доски.
Например:
Фишки с координатами (1,3) и (4,4) могут быть соединены. Фишки с координатами (2,3) и
(5,3) тоже могут быть соединены. А вот фишки с координатами (2,3) и (3,4) соединить нельзя –
любой соединяющий их путь пересекает другие фишки.
Вам необходимо написать программу, проверяющую, можно ли соединить две фишки путем, обладающим
вышеуказанными свойствами, и, в случае положительного ответа, определяющую минимальную длину такого пути
(считается, что путь имеет изломы, начало и конец только в центрах клеток (или «мнимых клеток», расположенных вне
доски), а отрезок, соединяющий центры двух соседних клеток, имеет длину 1).

Входные данные
Первая строка входного файла INPUT.TXT содержит два натуральных числа: W – ширина доски, H – высота доски
(1≤W,H≤75). Следующие H строк содержат описание доски: каждая строка состоит ровно из W символов: символ «X»
(заглавная английская буква «экс») обозначает фишку, символ «.» (точка) обозначает пустое место. Все остальные строки
содержат описания запросов: каждый запрос состоит из четырёх натуральных чисел, разделённых пробелами – X1, Y1, X2,
Y2, причём 1≤X1,X2≤W, 1≤Y1,Y2≤H. Здесь (X1, Y1) и (X2, Y2) – координаты фишек, которые требуется соединить (левая
верхняя клетка имеет координаты (1,1)). Гарантируется, что эти координаты не будут совпадать (кроме последнего запроса;
см. далее). Последняя строка содержит запрос, состоящий из четырёх чисел 0; этот запрос обрабатывать не надо.
Количество запросов не превосходит 20.

Выходные данные
Для каждого запроса в выходной файл OUTPUT.TXT необходимо вывести одно целое число на отдельной строке –
длину кратчайшего пути, или 0, если такого пути не существует.

Пример
№ INPUT.TXT OUTPUT.TXT
5 4 5
XXXXX 6
X...X 0
XXX.X
1 .XXX.
2 3 5 3
1 3 4 4
2 3 3 4
0 0 0 0

Задача №212
Деревни
(Время: 1 сек. Память: 16 Мб Сложность: 79%)
В тридесятом государстве есть N деревень. Некоторые пары деревень соединены дорогами. В целях экономии,
«лишних» дорог нет, т.е. из любой деревни в любую можно добраться по дорогам единственным образом.

https://acmp.ru/index.asp?main=alltasks 108/591
2/29/2020 Все задачи сайта

Новейшие исследования показали, что тридесятое государство находится в сейсмически опасной зоне. Поэтому глава
государства захотел узнать, какой именно ущерб может принести его державе землетрясение. А именно, он хочет узнать,
какое минимальное число дорог должно быть разрушено, чтобы образовалась изолированная от остальных группа ровно
из P деревень такая, что из любой деревни из этой группы до любой другой деревни из этой группы по-прежнему можно
будет добраться по неразрушенным дорогам (группа изолирована от остальных, если никакая неразрушенная дорога не
соединяет деревню из этой группы с деревней не из этой группы).
Вы должны написать программу, помогающую ему в этом.

Входные данные
Первая строка входного файла INPUT.TXT содержит два числа: N и P (1 ≤ P ≤ N ≤ 150). Все остальные строки
содержат описания дорог, по одному на строке: описание дороги состоит из двух номеров деревень (от 1 до N), которые эта
дорога соединяет. Все числа во входном файле разделены пробелами и/или переводами строки.

Выходные данные
В выходной файл OUTPUT.TXT выведите единственное число – искомое количество дорог.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 2 1
1 1 2
3 2
11 6 2
1 2
1 3
1 4
1 5
2 2 6
2 7
2 8
4 9
4 10
4 11

Задача №213
Подсчет баллов
(Время: 1 сек. Память: 16 Мб Сложность: 27%)
Решение каждой задачи заочного тура проверяется на наборе заранее заготовленных тестов. По результатам работы
программы на каждом тесте участнику либо начисляются баллы за этот тест (когда программа выдала правильный ответ),
либо не начисляются (когда во время работы программы произошли ошибки или выданный ответ не верен). Тесты могут
иметь разную стоимость.
Дополнительные баллы начисляются участнику, если его программа прошла все тесты.
Участник может исправлять свое решение, и посылать его на проверку повторно (при этом решение проверяется на
том же наборе тестов). При этом за каждую попытку из количества набранных по задаче баллов вычитается штраф,
который равен 0 при 1-й попытке, а при каждой следующей возрастает на 2 (то есть 2 при второй, 4 — при третьей, 6 —
при четвертой и т.д.).
Из баллов, полученных участником за каждую из попыток (с учетом начисленных штрафов), выбирается
максимальный результат, который и засчитывается как результат данного участника по этой задаче. Это нужно, в
частности, для того, чтобы последующие попытки не ухудшали уже полученный участником результат по задаче.
Например, если участник делает первую попытку и набирает 10 баллов, его результат по задаче равен 10 баллов.
Пусть на второй попытке участник посылает решение, которое набирает 8 баллов. С учетом штрафа за эту попытку
участник имеет 6 баллов, однако результат команды по задаче остается равным 10. Пусть с 3-й попытки решение набрало
20 баллов, тогда (с учетом штрафа) результат участника по задаче становится равен 16 баллам. Наконец, пусть с 4-й
попытки решение проходит все тесты, тогда участник получает сумму баллов за все тесты, плюс призовые баллы за
прохождение всех тестов, минус 6 баллов штрафа (если, конечно, эта величина не меньше 16 баллов, которые уже были у
данного участника).
https://acmp.ru/index.asp?main=alltasks 109/591
2/29/2020 Все задачи сайта

Напишите программу, которая определяет результат данного участника по этой задаче.

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

Выходные данные
В выходной файл OUTPUT.TXT выведите M чисел. i-ое число должно соответствовать результату участника после
совершения им первых i попыток.

Пример
№ INPUT.TXT OUTPUT.TXT
4 0
1 2 3 4 13
5 13
1 3
0 0 0 0
1 1 1 1
0 1 0 1

Задача №214
Великая сеча
(Время: 1 сек. Память: 16 Мб Сложность: 58%)
Алеша Попович и Добрыня Никитич сражаются со стаей двух- и трехголовых драконов. Они по очереди взмахивают
мечами, и одним махом могут отрубить любое (по своему желанию) число голов, но только у одного дракона. Отрубивший
последнюю голову у последнего дракона получает в жены прекрасную принцессу.
Кто из богатырей (начинающий или второй) может получить в жены принцессу независимо от действий другого?

Входные данные
Во входном файле INPUT.TXT записано два числа N и M — количество двух- и трехголовых драконов соответственно
(оба числа целые из диапазона от 0 до 100, N+M>0).

Выходные данные
В выходной файл OUTPUT.TXT выведите число 1 или 2 определяющее, кто из богатырей имеет все шансы получить в
жены принцессу (1 — тот, кто начинает, 2 — второй).

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 2 2
2 1 2 1

Задача №215
Водостоки
(Время: 1 сек. Память: 16 Мб Сложность: 55%)
Карту местности условно разбили на квадраты, и посчитали среднюю высоту над уровнем моря для каждого квадрата.

https://acmp.ru/index.asp?main=alltasks 110/591
2/29/2020 Все задачи сайта

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

Входные данные
Во входном файле INPUT.TXT записаны сначала числа N и M, задающие размеры карты — натуральные числа, не
превышающие 100. Далее, идет N строк, по M чисел в каждой, задающих высоту квадратов карты над уровнем моря.
Высота задается натуральным числом, не превышающим 10000. Считается, что квадраты, расположенные за пределами
карты, имеют высоту 10001 (то есть вода никогда не утекает за пределы карты).

Выходные данные
В выходной файл OUTPUT.TXT выведите минимальное количество водостоков, которое необходимо построить.

Пример
№ INPUT.TXT OUTPUT.TXT
4 5 2
1 2 3 1 10
1 1 4 3 10 10
1 5 5 5 5
6 6 6 6 6

Задача №216
Коллекционирование этикеток
(Время: 1 сек. Память: 16 Мб Сложность: 41%)
Вася коллекционирует спичечные этикетки. Для этого у него есть N альбомов вместимостью K1, K2, …, KN этикеток.
Вася хочет, чтобы в случае утери одного любого альбома каждая этикетка осталась у него хотя бы в одном экземпляре. Для
этого он покупает каждую этикетку в двух экземплярах, и наклеивает их в два разных альбома. Какое максимальное
количество различных этикеток при этом может оказаться в его коллекции?

Входные данные
Входной файл INPUT.TXT содержит сначала число N — количество альбомов, а затем N чисел K1, K2, …, KN,
задающих вместимости альбомов. N — натуральное число из диапазона от 2 до 1000. Вместимость каждого альбома
задается натуральным числом, суммарная вместимость всех альбомов не превышает 100 000 этикеток.

Выходные данные
В выходной файл OUTPUT.TXT выведите число E — максимальное количество различных этикеток, которое может
собрать Вася с соблюдением выдвинутого условия.

Пример
№ INPUT.TXT OUTPUT.TXT
4 2
1
1 2 1 1

https://acmp.ru/index.asp?main=alltasks 111/591
2/29/2020 Все задачи сайта

Задача №217
Еловая аллея
(Время: 2 сек. Память: 16 Мб Сложность: 47%)
Мэр города Урюпинска решил посадить на главной аллее города, которая проходит с запада на восток, голубые ели.
Причем сажать ели можно не во всех местах, а только на специально оставленных при асфальтировании аллеи клумбах.
Как оказалось, голубые ели бывают M различных сортов. Для ели каждого сорта известна максимальная длина ее тени
в течение дня в западном и в восточном направлении (Wi и Ei соответственно). При этом известно, что ели растут гораздо
лучше, если в течение дня они не оказываются в тени других елей.
Координатная ось направлена вдоль аллеи с запада на восток.
По заданным координатам клумб вычислите максимальное число елей, которое можно посадить, соблюдая условие о
том, что никакая ель не должна попадать в тень от другой ели.

Входные данные
Во входном файле INPUT.TXT записано сначала натуральное число M — количество сортов елей (1 ≤ M ≤ 100). Затем
идет M пар чисел Wi, Ei, описывающих максимальную длину тени в западном и восточном направлении в течение дня для
каждого сорта ели (числа Wi, Ei — целые, из диапазона от 0 до 30000). Далее идет натуральное число N — количество
клумб, в которых можно сажать ели (1 ≤ N ≤ 100). Далее идет N чисел, задающих координаты клумб (координаты — целые
числа, по модулю не превышающие 30000). Клумбы перечислены с запада на восток (в порядке возрастания их координат).

Примечание
Если на клумбе с координатой X мы посадили ель, максимальная тень которой в восточном направлении равна E, то
все клумбы с координатами от X+1 до X+E–1 попадают в тень от этой ели, а клумба с координатами X+E — уже нет.
Аналогично для тени в западном направлении.

Выходные данные
В выходной файл OUTPUT.TXT выведите число A — максимальное количество елей, которые удастся посадить.

Пример
№ INPUT.TXT OUTPUT.TXT
3 2
1000 3
1 200
1
128 256
3
1 2 4

Задача №218
Шашки
(Время: 1 сек. Память: 16 Мб Сложность: 45%)
Петя и Вася играли в шашки по описанным ниже правилам. В какой-то момент
забежавший в комнату кот перевернул доску, на которой играли Петя и Вася. К
счастью, у них осталась запись сделанных ходов, используя которую можно
восстановить расположение шашек к моменту, когда забежал кот.
Напишите программу, которая выведет положение шашек на доске после
выполнения описанных ходов.
Игра происходит на стандартной доске (8х8), которая располагается так, что у
игрока, играющего белыми, левая нижняя клетка является черной, и с нее начинается
нумерация как строк, так и столбцов. Строки доски нумеруются числами от 1 до 8,
столбцы — английскими буквами от a до h.
В начале игры каждый из двух игроков имеет по 12 шашек своего цвета (белого
или черного соответственно). Белые шашки располагаются на клетках a1, a3, b2, c1, c3,
d2, e1, e3, f2, g1, g3, h2. Черные шашки располагаются на клетках a7, b6, b8, c7, d6, d8, e7, f6, f8, g7, h6, h8.
https://acmp.ru/index.asp?main=alltasks 112/591
2/29/2020 Все задачи сайта

Игроки совершают ходы по очереди. Игрок, играющий белыми, ходит первым.


Шашки в процессе игры бывают двух видов: обычная шашка и дамка. В начале игры все шашки обычные. Белая
шашка становится дамкой, если она оказывается в строке 8. Соответственно, черная шашка становится дамкой, если она
оказывается в строке 1.
Шашка может совершать ходы двух типов:
1. Простой ход заключается в перемещении одной из шашек на одну клетку вперед по диагонали. Например, белая
шашка с e3 может сходить на d4 или f4 (если соответствующая клетка свободна). А черная шашка с e3 может сходить на d2
или f2.
2. Рубка заключается в том, что шашка перепрыгивает через шашку (или дамку) противника, находящуюся в
диагонально соседней с ней клетке при условии, что следующая клетка этой диагонали свободна. Шашка противника,
которую срубили, убирается с доски. Если сразу после окончания рубки та же самая шашка может продолжить рубку, она
ее продолжает этим же ходом. Рубка возможна в любом из 4-х диагональных направлений. Если в процессе рубки шашка
оказывается в 1-й строке (для черных) или в 8-й (для белых), она становится дамкой.
Дамка может совершать следующие ходы:
3. Простой ход заключается в перемещении дамки по диагонали на любое число клеток (при этом все клетки, через
которые происходит перемещение, должны быть свободны).
4. Рубка заключается в том, что шашка перепрыгивает через шашку (или дамку) противника, находящуюся на той же
диагонали, что и рубящая дамка. Это можно делать при условии, что все клетки между рубящей дамкой и шашкой,
которую рубят, а также клетка, следующая за шашкой, которую рубят, свободны. После рубки дамка может встать на
любую клетку данной диагонали за клеткой, на которой стояла срубленная шашка (при условии, что все клетки на ее пути
свободны). Если из своего нового положения дамка может совершить рубку, она должна ее совершить этим же ходом.

Входные данные
В первой строке входного файла INPUT.TXT записано одно число N — количество ходов, которое было сделано с
начала партии. Это количество не превышает 1000.
В каждой из следующих N строк записаны описания ходов (нечетные ходы совершались белыми, четные — черными).
Описание каждого хода занимает ровно одну строку и записывается в следующем виде.
Простой ход записывается в виде <начальная клетка>–<конечная клетка>. Например, ход с c3 на d4 записывается как
c3-d4.
Рубка записывается в виде <начальная клетка>:<клетка после рубки>. Если рубка продолжается, то ставится еще одно
двоеточие, и записывается клетка, где окажется шашка после следующей рубки и т.д. Например, e3:c5:e7 (шашка,
изначально расположенная на e3, рубит шашку на d4 и оказывается на c5, после чего рубит шашку на d6 и оказывается на
e7).
Рубка a1:h8 может быть осуществлена только дамкой (например, дамка с a1 рубит шашку, стоящую в c3, и заканчивает
ход в h8). Рубка дамкой может быть и такой a1:d4:f6:h4 (дамка рубит шашку, стоящую на b2, затем продолжает рубку и
рубит шашку на e5, и, наконец, рубит шашку на g5). При этом после каждой рубки указывается клетка, на которой
останавливается дамка перед следующей рубкой.
Строки с описанием ходов не содержат пробельных символов.

Выходные данные
В выходной файл OUTPUT.TXT выведите изображение доски с расположенными на ней шашками. В первой строке
выходного файла должна быть выведена 8-я строка доски, во второй — 7-я и т.д. В каждой строке должно быть ровно 8
символов, описывающих клетки столбцов с a по h.
Белая клетка должна быть изображена символом “.” (точка), пустая черная клетка — символом “–“ (минус). Черная
клетка, в которой стоит белая шашка — символом “w” (маленькая английская буква w), а клетка с белой дамкой —
символом “W” (заглавная английская буква W). Аналогично клетка с черной шашкой должна быть изображена символом
“b” (маленькая английская буква b), а клетка с черной дамкой — символом “B” (большая английская буква B).

Пример
№ INPUT.TXT OUTPUT.TXT
1 3 .b.b.b.b
c3-d4 b.b.b.b.

https://acmp.ru/index.asp?main=alltasks 113/591
2/29/2020 Все задачи сайта
f6-e5 .b.b.w.b
d4:f6 -.-.-.-.
.-.-.-.-
w.-.w.w.
.w.w.w.w
w.w.w.w.

Задача №219
Симпатичные таблицы
(Время: 1 сек. Память: 16 Мб Сложность: 75%)
Рассмотрим таблицу размера N×M, в клетках которой стоят целые неотрицательные числа. Скажем, что таблица
является симпатичной, если для всех i сумма чисел ее i-ой строки не превышает Ri и для всех j сумма чисел ее j-го столбца
не превышает Cj.

Вам задана таблица Z размера N×M (N строк и M столбцов), в некоторых клетках которой уже стоят целые
неотрицательные числа. Найдите симпатичную таблицу с максимальной суммой элементов такую, что она совпадает с Z
на тех клетках, в которых в Z стоят числа.

Входные данные
Первая строка входного файла INPUT.TXT содержит числа N и M (1 ≤ M, N ≤ 20). Следующая строка содержит N
целых неотрицательных чисел - R1, R2, ..., RN. Следующая строка содержит M целых неотрицательных чисел C1, C2, ...,
CM. Все числа не превышают 106. Следующие N строк содержат по M целых чисел, которые задают Z. Если на некотором
месте в таблице отсутствует число, то на этом месте во входном файле стоит число -1.

Выходные данные
Выведите в выходной файл OUTPUT.TXT выведите целое число - сумму элементов найденной таблицы. Если решение
не существует, то выведите единственное число -1.

Пример
№ INPUT.TXT OUTPUT.TXT
2 2 3
2 2
1 1 2
1 -1
-1 -1

Задача №220
Мышка с колесиком
(Время: 0,5 сек. Память: 16 Мб Сложность: 54%)
Пользователь просматривает таблицу в Internet Explorer и пользуется для прокрутки изображения колесиком на
мышке. При этом все изображение сдвигается вверх или вниз на T пикселей. Пользователю очень не нравится, когда
курсор мыши оказывается на горизонтальных линиях, разделяющих строки таблицы. Поэтому он хочет выбрать такое
положение для курсора мыши на экране, чтобы в процессе прокрутки до конца таблицы курсор как можно меньшее число
раз пересекался с линиями таблицы.
При этом если в каком-то положении курсор оказывается на двух линиях таблицы, то это считается за два пересечения
курсора с линиями таблицы. Если какую-то линию курсор мыши пересекает в двух положениях (то есть, например, высота
курсора 10 пикселей, а при прокрутке таблица сдвигается на 7 пикселей, тогда курсор мыши может оказываться на одной
линии в двух состояниях прокрутки), то это также считается за два пересечения.
Экран монитора имеет разрешение по вертикали U пикселей. Координаты введены так, что самые верхние точки
экрана имеют координату 0, а нижние — координату U–1. Курсор мыши имеет высоту H пикселей. Расположением
курсора считается самая верхняя точка курсора. Таким образом, если мы говорим, что он расположен, например, в точке с
координатами 0 на экране, то его изображение расположено в точках с координатами от 0 до H–1. Курсор мыши всегда
целиком помещается на экране, то есть допустимыми координатами для его расположения являются координаты от 0 до

https://acmp.ru/index.asp?main=alltasks 114/591
2/29/2020 Все задачи сайта

U–H. Таблица, которую просматривает пользователь, имеет высоту L пикселей и состоит из N–1 строки, и, следовательно,
в ней N горизонтальных линий, которые имеют координаты X1, X2, …, XN. При этом 0 = X1 < X2 < X3 < … < XN = L–1.
В начальный момент времени таблица расположена так, что линия, имеющая координату 0 в таблице отображается в
0-й строке пикселей монитора. Далее при прокрутке таблица каждый раз сдвигается на T пикселей (то есть в 0-й строке
монитора оказывается строка пикселей, имеющая в таблице координату T, координату 2T и т.д.). Так происходит до тех
пор, пока на экране не окажется нижняя линия таблицы (которая имеет координату XN). После этого дальнейшая
прокрутка не происходит (если изначально XN < U, то прокрутка вообще не происходит).

Входные данные
Во входном файле INPUT.TXT задано сначала разрешение монитора по вертикали U, затем высота курсора мыши H,
затем шаг прокрутки T. Далее задана высота таблицы L. Далее задано количество разделительных линий в таблице N, и
координаты X1, X2,…,XN, где расположены эти линии относительно начала таблицы. Ограничения: 10 ≤ U ≤ 512, 1 ≤ H ≤
U, 1 ≤ T ≤ U, 2 ≤ N ≤ 200000, 0 = X1 < X2 < X3 < … < XN = L–1 ≤ 109.

Выходные данные
В выходной файл OUTPUT.TXT нужно вывести наименьшее возможное количество пересечений курсора мыши с
линиями таблицы.

Примеры
№ INPUT.TXT OUTPUT.TXT
10 3 10 10 0
1 4
0 1 6 9
10 6 2 21 21
2 11
0 2 4 6 8 10 12 14 16 18 20

Задача №221
Левый лабиринт
(Время: 1 сек. Память: 16 Мб Сложность: 57%)
В спортзале размером N×M метров построили современный аттракцион под названием "Левый лабиринт". Для этого
на полу спортзала с интервалом в 1 метр начертили линии, параллельные стенам спортзала. Таким образом, спортзал
разбили на N×M клеток. Дальше некоторые из этих клеток покрасили в черный цвет. Аттракцион заключается в том, что
участника ставят в некоторой клетке спортзала и просят как можно быстрее добежать до некоторой другой клетки. При
этом накладываются следующие условия:

Участнику запрещено ходить по черным клеткам.


Придя в какую-то клетку, участник может пойти либо прямо, либо налево, либо направо (если в соответствующем
направлении клетка не покрашена в черный цвет): ходить назад, а также ходить по диагонали запрещается.
За все время пути участнику разрешается повернуть направо (то есть пойти из текущей клетки направо относительно
того, откуда он пришел в данную клетку) не более K раз.
В начальной клетке участник может встать лицом в ту сторону, в какую ему захочется. С какой стороны участник
прибежит в конечную клетку также не важно.

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

Входные данные
Во входном файле INPUT.TXT сначала записано число K — количество разрешенных поворотов направо (целое число
из диапазона от 0 до 5), затем записаны числа N и M, задающие размеры спортзала — натуральные числа, не
превышающие 20. Далее записано N строк по M чисел в каждой. Число 0 обозначает неокрашенную клетку, число 1 —
покрашенную, число 2 — клетку, откуда стартует участник и число 3 — клетку, куда нужно добежать (клетки, помеченные
2 и 3 являются неокрашенными). В лабиринте всегда есть ровно одна начальная клетка и ровно одна клетка, в которую
нужно попасть.

https://acmp.ru/index.asp?main=alltasks 115/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT выведите минимальное время, за которое можно добраться в конечную клетку. Если
попасть в конечную клетку нельзя, выведите –1.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 5 5 12
2 0 0 1 1
0 1 0 0 1
1
1 1 0 0 1
0 0 0 0 1
3 1 0 0 1
0 1 3 -1
2
2 1 3

Задача №222
Дремучий лес
(Время: 1 сек. Память: 16 Мб Сложность: 59%)
Будем говорить, что для наблюдателя лес является дремучим, если из своего текущего положения наблюдатель видит
только деревья. Вам дана карта леса и координаты точки, в которой находится наблюдатель. Требуется определить, кажется
ли лес дремучим данному наблюдателю.
На карте леса все деревья изображаются кругами. При этом в лесу бывают сросшиеся деревья (изображения таких
деревьев на карте пересекаются), также одно дерево может находиться внутри другого. Точка, в которой стоит
наблюдатель, не лежит внутри или на границе ни одного из деревьев.

Входные данные
Во входном файле INPUT.TXT содержится сначала целое число N — количество деревьев (1 ≤ N ≤ 50 000). Затем идут
два числа, задающих координаты наблюдателя. Затем идет N троек чисел, задающих деревья. Первые два числа xi и yi
задают координаты центра, а третье ri — радиус. Все координаты и радиусы деревьев задаются точно, и выражаются
вещественными числами не более чем с 2 знаками после десятичной точки (-105 ≤ xi, yi ≤ 105, 0 < ri ≤ 105).

Выходные данные
В выходной файл OUTPUT.TXT нужно вывести сообщение YES, если лес является дремучим, и NO иначе.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 YES
0 0
2 2 2
1
-2 2 2
-2 -2 2
2 -2 2
2 NO
10 10
2
0 0 1
0.5 0 2

Задача №223
Анаграммер
(Время: 1 сек. Память: 16 Мб Сложность: 75%)
Анаграммер — специальное устройство для получения из слова его анаграмм (то есть слов, записанных теми же
буквами, но в другом порядке). Это устройство умеет выполнять 2 операции:
https://acmp.ru/index.asp?main=alltasks 116/591
2/29/2020 Все задачи сайта

1. Взять очередную букву исходного слова и поместить ее в стек.


2. Взять букву из стека и добавить ее в конец выходного слова.

Стек — это хранилище данных, которое работает по принципу "первый пришел — последний ушел". Стек можно
представить себе в виде пирамидки. Когда мы добавляем букву в стек, это соответствует тому, что на стержень пирамидки
сверху мы надеваем кольцо, на котором написана соответствующая буква. Когда берем букву из стека, то это соответствует
тому, что мы снимаем со стержня верхнее кольцо, и смотрим, какая буква на нем написана.
Например, слово TROT в слово TORT может быть преобразовано анаграммером двумя различными
последовательностями операций: 11112222 или 12112212.
Напишите программу, которая по двум заданным словам вычисляет количество различных последовательностей
операций анаграммера, которые преобразуют первое из этих слов во второе.

Входные данные
Первая строка входного файла INPUT.TXT содержит исходное слово, а вторая — слово, которое необходимо получить.
Слова состоят только из заглавных английских букв и имеют длину от 1 до 50 символов. Оба слова имеют одинаковую
длину. В этих строках не содержится пробелов.

Выходные данные
В первой строке выходного файла OUTPUT.TXT должно содержаться количество последовательностей операций
анаграммера, с помощью которых можно преобразовать первое слово во второе.

Примеры
№ INPUT.TXT OUTPUT.TXT
TROT 2
1
TORT
MADAM 4
2
ADAMM
LONG 0
3
GONG
AAAAAAAA 1430
4
AAAAAAAA

Задача №224
Наибольшее произведение
(Время: 1 сек. Память: 16 Мб Сложность: 38%)
Дано N целых чисел. Требуется выбрать из них три таких числа, произведение которых максимально.

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

Во входном файле INPUT.TXT записано сначала число N — количество чисел в последовательности (3 ≤ N ≤ 106).
Далее записана сама последовательность: N целых чисел, по модулю не превышающих 30000.

Выходные данные
В выходной файл OUTPUT.TXT выведите значение наибольшего произведения искомых трех чисел.

Примеры
№ INPUT.TXT OUTPUT.TXT
9 810
1
3 5 1 7 9 0 9 -3 10
3 -1800000
2
-5 -30000 -12

https://acmp.ru/index.asp?main=alltasks 117/591
2/29/2020 Все задачи сайта

Задача №225
Покупка билетов
(Время: 1 сек. Память: 16 Мб Сложность: 43%)
За билетами на премьеру нового мюзикла выстроилась очередь из N человек, каждый из которых хочет купить 1
билет. На всю очередь работала только одна касса, поэтому продажа билетов шла очень медленно, приводя «постояльцев»
очереди в отчаяние. Самые сообразительные быстро заметили, что, как правило, несколько билетов в одни руки кассир
продаёт быстрее, чем когда эти же билеты продаются по одному. Поэтому они предложили нескольким подряд стоящим
людям отдавать деньги первому из них, чтобы он купил билеты на всех.
Однако для борьбы со спекулянтами кассир продавала не более 3-х билетов в одни руки, поэтому договориться таким
образом между собой могли лишь 2 или 3 подряд стоящих человека.
Известно, что на продажу i-му человеку из очереди одного билета кассир тратит Ai секунд, на продажу двух билетов
— Bi секунд, трех билетов — Ci секунд. Напишите программу, которая подсчитает минимальное время, за которое могли
быть обслужены все покупатели.
Обратите внимание, что билеты на группу объединившихся людей всегда покупает первый из них. Также никто в
целях ускорения не покупает лишних билетов (то есть билетов, которые никому не нужны).

Входные данные
Во входном файле INPUT.TXT записано сначала число N — количество покупателей в очереди (1≤N≤5000). Далее
идет N троек натуральных чисел Ai, Bi, Ci. Каждое из этих чисел не превышает 3600. Люди в очереди нумеруются,
начиная от кассы.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число — минимальное время в секундах, за которое могли быть
обслужены все покупатели.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 12
5 10 15
2 10 15
1
5 5 5
20 20 1
20 1 1
2 4
2 3 4 5
1 1 1

Задача №226
Перегоны
(Время: 1 сек. Память: 16 Мб Сложность: 50%)
На некоторой железнодорожной ветке расположено N станций, которые последовательно пронумерованы числами от 1
до N. Известны расстояния между некоторыми станциями. Требуется точно вычислить длины всех перегонов между
соседними станциями или указать, что это сделать невозможно (то есть приведенная информация является
противоречивой или ее недостаточно).

Входные данные
Во входном файле INPUT.TXT записаны сначала числа N — количество станций (2 ≤ N ≤ 100) и E — количество пар
станций, расстояния между которыми заданы (0 ≤ E ≤ 10000). Далее, идет E троек чисел, первые два числа каждой тройки
задают номера станций (это числа из диапазона от 1 до N), а третье — расстояние между этими станциями (все эти
расстояния заданы точно и выражаются вещественными неотрицательными числами не более чем с 3-я знаками после
десятичной точки).

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

https://acmp.ru/index.asp?main=alltasks 118/591
2/29/2020 Все задачи сайта

В случае, когда восстановить длины перегонов можно однозначно, в выходной файл OUTPUT.TXT выведите сначала
«YES», а затем N–1 вещественное число. Первое из этих чисел должно соответствовать расстоянию от 1-й станции до 2-й,
второе — от 2-й до 3-й, и так далее. Все числа должны быть выведены с точностью до 3-х знаков после десятичной точки
(например, число 2.3 следует выводить как 2.300). Если приведенная информация о расстояниях между станциями
является противоречивой или не позволяет однозначно точно восстановить длины перегонов, выведите в выходной файл
«NO».

Примеры
№ INPUT.TXT OUTPUT.TXT
3 2 YES
1 1 2 1.250 1.250 1.750
3 1 3
4 4 YES
1 2 1.250 1.250 0.005 0.005
2 3 1 1.255
2 4 0.010
1 1 0.000
3 1 NO
3
1 1 1
3 3 NO
1 2 1.250
4
1 3 1.300
2 3 1.000

Задача №227
Сломанный калькулятор
(Время: 1 сек. Память: 16 Мб Сложность: 52%)
У калькулятора есть две ячейки памяти: содержимое первой из них всегда отображается на табло, вторая является
буфером. В начальный момент времени на табло калькулятора отображается целое число X, а в буфере записано число 0. У
калькулятора работают только две клавиши: «+» и «=». При нажатии на «+» число, которое в данный момент отображено
на табло, копируется в буфер. При нажатии на «=» число из буфера прибавляется к числу, отображенному на табло, и
результат отображается на табло, число в буфере при этом не меняется.
Требуется за наименьшее число нажатий клавиш на калькуляторе добиться того, чтобы на табло было отображено
число Y.

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

Входной файл INPUT.TXT содержит два целых числа X и Y. Каждое из этих чисел по модулю не превышает 109.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число — количество нажатий клавиш, которое потребуется для
получения числа Y. Если из числа X получить число Y с помощью указанных операций невозможно, в выходной файл
выведите одно число –1.

Примеры
№ INPUT.TXT OUTPUT.TXT Пояснение
1 1 1 0
2 -2 -6 3 +==
3 1 8 6 +===+=
4 2 5 -1

Задача №228
Валютные махинации
(Время: 1 сек. Память: 16 Мб Сложность: 39%)
https://acmp.ru/index.asp?main=alltasks 119/591
2/29/2020 Все задачи сайта

Петя, изучая, как меняется курс рубля по отношению к доллару и евро, вывел закон, по которому происходят эти
изменения (или думает, что вывел :) ). По этому закону Петя рассчитал, каков будет курс рубля по отношению к доллару и
евро в ближайшие N дней.
У Пети есть 100 рублей. В каждый из дней он может обменивать валюты друг на друга по текущему курсу без
ограничения количества (при этом курс доллара по отношению к евро соответствует величине, которую можно получить,
обменяв доллар на рубли, а потом эти рубли — на евро). Поскольку Петя будет оперировать не с наличной валютой, а со
счетом в банке, то он может совершать операции обмена с любым (в том числе и нецелым) количеством единиц любой
валюты.
Напишите программу, которая вычисляет, какое наибольшее количество рублей сможет получить Петя к исходу N-го
дня.
Законы изменения курсов устроены так, что в течение указанного периода рублевый эквивалент той суммы, которая
может оказаться у Пети, не превысит 108 рублей.

Входные данные
Первая строка входного файла INPUT.TXT содержит одно число N (1 ≤ N ≤ 5000). В каждой из следующих N строк
записано по 2 числа, вычисленных по Петиным законам для соответствующего дня — сколько рублей будет стоить 1
доллар, и сколько рублей будет стоить 1 евро. Все эти значения не меньше 0.01 и не больше 10000. Значения заданы точно
и выражаются вещественными числами не более, чем с двумя знаками после десятичной точки.

Выходные данные
В выходной файл OUTPUT.TXT выведите искомую величину с двумя знаками после десятичной точки.

Пример
№ INPUT.TXT OUTPUT.TXT
4 4000.00
1 10
1 10 5.53
5.53 1.25
6 5

Задача №229
Двухтуровая олимпиада
(Время: 1 сек. Память: 16 Мб Сложность: 58%)
Как известно, личная олимпиада по информатике проходит в два тура. На каждом из туров участники получают какие-
то баллы, при этом итоговый балл определяется как сумма полученных баллов. Известны баллы, которые каждый
участник получил на каждом из туров. Жюри хочет фальсифицировать итоги олимпиады так, чтобы победил «нужный»
участник.
При этом жюри может делать следующие «подтасовки» (можно делать несколько «подтасовок» применительно как к
одному и тому же, так и к разным турам):

1. Прибавить к результатам всех участников по одному из туров одно и то же положительное число.


2. Умножить результаты участников по одному из туров на некоторый коэффициент, больший 1.

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

Входные данные
Во входном файле INPUT.TXT записано сначала число участников N (1 ≤ N ≤ 1000), затем N пар чисел — результаты
каждого участника за 1-й и за 2-й туры (результат участника за тур — это вещественное число от 0 до 100) не более, чем с
3 знаками после десятичной точки.

Выходные данные
https://acmp.ru/index.asp?main=alltasks 120/591
2/29/2020 Все задачи сайта

В выходной файл OUTPUT.TXT выведите сначала количество участников, которые смогут стать победителями
олимпиады, а затем в возрастающем порядке их номера.

Пример
№ INPUT.TXT OUTPUT.TXT
4 2
45 90 2 4
1 70 80
0 0
75 75

Задача №230
Луч света в темном царстве
(Время: 1 сек. Память: 16 Мб Сложность: 63%)
Темное царство представляет собой лабиринт N×M, некоторые клетки которого окружены зеркальными стенами, а
остальные — пустые. Весь лабиринт также окружен зеркальной стеной. В одной из пустых клеток лабиринта поставили
светофор, который испускает лучи в 4 направлениях: под 45 градусов относительно стен лабиринта. Требуется изобразить
траекторию этих лучей.
Когда луч приходит в угол, через который проходят зеркальные стены, дальше он идет так, как показано на рисунках
(серым цветом показаны клетки, которые окружены зеркальными стенами). Аналогичным образом луч ведет себя, когда
приходит на границу лабиринта.

Входные данные
В первой строке входного файла INPUT.TXT записаны два натуральных числа N и M — число строк и столбцов в
лабиринте (каждое из чисел не меньше 1 и не больше 100). В следующих N строках записано ровно по M символов в
каждой — карта лабиринта. Символ * (звездочка) обозначает клетку, окруженную зеркальными стенками, . (точка) —
пустую клетку, символ X (заглавная английская буква X) — клетку, в которой расположен светофор (такая клетка ровно
одна).

Выходные данные
В выходной файл OUTPUT.TXT выведите N строк по M символов в каждой — изображение лабиринта с
траекториями лучей. Здесь, как и раньше, * (звездочка) должна обозначать клетки, окруженные зеркальными стенами, .
(точка) — пустые клетки, через которые лучи света не проходят, / (слеш) — клетки, через которые луч света проходит из
левого нижнего угла в правый верхний (или обратно — из правого верхнего в левый нижний), \ (обратный слеш) —
клетки, через которые луч проходит из левого верхнего угла в правый нижний (или обратно), а символ X (заглавная
английская буква X) — клетки, через которые лучи проходят по обеим диагоналям.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 6 ./*./\
..*... /..X./
...... \./.X*
1
.....* *X.//*
*X...* /\X/*.
....*.
3 3 \./
... .X.
2
.X. /.\
...

https://acmp.ru/index.asp?main=alltasks 121/591
2/29/2020 Все задачи сайта

Задача №231
Распаковка строки
(Время: 1 сек. Память: 16 Мб Сложность: 25%)
Будем рассматривать только строчки, состоящие из заглавных английских букв. Например, рассмотрим строку
AAAABCCCCCDDDD. Длина этой строки равна 14. Поскольку строка состоит только из английских букв, повторяющиеся
символы могут быть удалены и заменены числами, определяющими количество повторений. Таким образом, данная строка
может быть представлена как 4AB5C4D. Длина такой строки 7. Описанный метод мы назовем упаковкой строки.
Напишите программу, которая берет упакованную строчку и восстанавливает по ней исходную строку.

Входные данные
Входной файл INPUT.TXT содержит одну упакованную строку. В строке могут встречаться только конструкции вида
nA, где n — количество повторений символа (целое число от 2 до 99), а A — заглавная английская буква, либо
конструкции вида A, то есть символ без числа, определяющего количество повторений. Строка содержит от 1 до 80
символов.

Выходные данные
В выходной файл OUTPUT.TXT выведите восстановленную строку. При этом строка должна быть разбита на строчки
длиной ровно по 40 символов (за исключением последней, которая может содержать меньше 40 символов).

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3A4B7D AAABBBBDDDDDDD
22D7AC18FGD DDDDDDDDDDDDDDDDDDDDDDAAAAAAACFFFFFFFFFF
2
FFFFFFFFGD
95AB AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
3 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAB
40AB39A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
4
BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Задача №232
Дремучий лес - 2
(Время: 1 сек. Память: 16 Мб Сложность: 77%)
Просека — эта такая прямая линия, которая проходит через лес (то есть деревья есть как с одной стороны от этой
линии, так и с другой), и при этом она не проходит ни через одно из деревьев леса, а также не касается деревьев. Будем
говорить, что лес является дремучим, если в нем нет ни одной просеки.
На плане леса все деревья изображаются кругами. Никакие два круга не пересекаются и не касаются друг друга.
Требуется по этому плану определить, является ли лес дремучим.

Входные данные
Во входном файле INPUT.TXT содержится сначала целое число N — количество деревьев (1 ≤ N ≤ 200). Затем идет N
троек чисел, задающих деревья. Первые два числа задают координаты центра, а третье — радиус. Все данные задаются
точно, и выражаются вещественными числами, не более чем с 2 знаками после десятичной точки, по модулю не
превосходящими 1000.

Выходные данные
В первой строке выходного файла OUTPUT.TXT должно содержаться сообщение YES, если лес является дремучим, и
NO иначе.

Примеры
№ INPUT.TXT OUTPUT.TXT

https://acmp.ru/index.asp?main=alltasks 122/591
2/29/2020 Все задачи сайта
1 3 NO
0 10 2
5 11 2
12.04 7 2
3 YES
0 0 1
2
2.05 0 1
1.02 -1.9 1

Задача №233
Автобусная экскурсия
(Время: 1 сек. Память: 16 Мб Сложность: 14%)
Оргкомитет Московской городской олимпиады решил организовать обзорную экскурсию по Москве для участников
олимпиады. Для этого был заказан двухэтажный автобус (участников олимпиады достаточно много и в обычный они не
умещаются) высотой 437 сантиметров. На экскурсионном маршруте встречаются N мостов. Жюри и оргкомитет
олимпиады очень обеспокоены тем, что высокий двухэтажный автобус может не проехать под одним из них. Им удалось
выяснить точную высоту каждого из мостов. Автобус может проехать под мостом тогда и только тогда, когда высота моста
превосходит высоту автобуса.
Помогите организаторам узнать, закончится ли экскурсия благополучно, а если нет, то установить, где произойдет
авария.

Входные данные
Во входном файле INPUT.TXT сначала содержится число N (1 ≤ N ≤ 1000). Далее идут N натуральных чисел, не
превосходящих 10000 - высоты мостов в сантиметрах в том порядке, в котором они встречаются на пути автобуса.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести фразу "No crash", если экскурсия закончится
благополучно. Если же произойдет авария, то нужно вывести сообщение "Crash k", где k - номер моста, где произойдет
авария. Фразы выводить без кавычек ровно с одним пробелом внутри.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 No crash
1
763
3 Crash 2
2
763 245 113
1 Crash 1
3
437

Задача №234
Сапер
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Мальчику Васе очень нравится известная игра "Сапер" ("Minesweeper").
В "Сапер" играет один человек. Игра идет на клетчатом поле (далее будем называть его картой) N×M (N строк, M
столбцов). В K клетках поля стоят мины, в остальных клетках записано либо число от 1 до 8 — количество мин в соседних
клетках, либо ничего не написано, если в соседних клетках мин нет. Клетки являются соседними, если они имеют хотя бы
одну общую точку, в одной клетке не может стоять более одной мины. Изначально все клетки поля закрыты. Игрок за один
ход может открыть какую-нибудь клетку. Если в открытой им клетке оказывается мина — он проигрывает, иначе игроку
показывается число, которое стоит в этой клетке, и игра продолжается. Цель игры — открыть все клетки, в которых нет
мин.
У Васи на компьютере есть эта игра, но ему кажется, что все карты, которые в ней есть, некрасивые и неинтересные.
Поэтому он решил нарисовать свои. Однако фантазия у него богатая, а времени мало, и он хочет успеть нарисовать как
можно больше карт. Поэтому он просто выбирает N, M и K и расставляет мины на поле, после чего все остальные клетки

https://acmp.ru/index.asp?main=alltasks 123/591
2/29/2020 Все задачи сайта

могут быть однозначно определены. Однако на определение остальных клеток он не хочет тратить свое драгоценное
время. Помогите ему!
По заданным N, M, K и координатам мин восстановите полную карту.

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

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

Пример
№ INPUT.TXT OUTPUT.TXT
10 9 23 .111..1*1
1 8 13*2..111
2 3 1**3.....
3 2 13*2.111.
3 3 .111.2*2.
4 3 233335*41
5 7 ********1
6 7 *6*7*8*41
7 1 13*4***2.
7 2 .1122321.
7 3
7 4
1
7 5
7 6
7 7
7 8
8 1
8 3
8 5
8 7
9 3
9 5
9 6
9 7

Задача №235
Робот К-79
(Время: 1 сек. Память: 16 Мб Сложность: 30%)
Петя написал программу движения робота К-79. Программа состоит из следующих команд:

S — сделать шаг вперед


L — повернуться на 90 градусов влево
R — повернуться на 90 градусов вправо

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

Входные данные
Во входном файле INPUT.TXT записана одна строка из заглавных английских букв S, L, R, описывающая программу
для робота. Общее число команд в программе от 1 до 200, при этом команд S — не более 50.
https://acmp.ru/index.asp?main=alltasks 124/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT выведите, сколько шагов будет сделано (то есть выполнено команд S) прежде, чем
робот впервые окажется в том месте, через которое он уже проходил. Если такого не произойдет, выведите в выходной
файл число –1.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 SSLSLSLSSRSRS 5
2 LSSSS -1

Задача №236
Многочлен
(Время: 1 сек. Память: 16 Мб Сложность: 41%)
Васе задали несколько однотипных задач по математике: «найти значение многочлена». Он хочет написать программу,
которая по заданному многочлену и значению x находила бы ответ. Напишите такую программу!

Входные данные
В первой строке входного файла INPUT.TXT записан многочлен в виде суммы одночленов. Между одночленами
находится знак + или –. Перед первым одночленом может быть знак –. Одночлен записывается как
[<Коэффициент>*]x[^<Степень>] или <Коэффициент>, где <Коэффициент> – неотрицательное целое число, не
превосходящее 100, x – символ переменной (всегда маленькая английская буква x), <Степень> — натуральное число, не
превосходящее 4. Параметры, взятые в квадратные скобки, могут быть опущены. Общее число символов в записи
многочлена не превышает 80. Во второй строке записано одно целое число — значение x, не превышающее 100 по
абсолютной величине.

Выходные данные
В выходной файл OUTPUT.TXT нужно записать одно число – значение данного многочлена при данном значении x.

Примеры
№ INPUT.TXT OUTPUT.TXT
8*x+5 61
1
7
-2+x^1-3*x^2+x^2+100*x^3-2*x -2
2
0

Задача №237
Головоломка
(Время: 1 сек. Память: 16 Мб Сложность: 35%)
Петя разгадывает головоломку, которая устроена следующим образом. Дана квадратная
таблица размера N×N, в каждой клетке которой записана какая-нибудь английская буква. Кроме
того, дан список ключевых слов. Пете нужно, взяв очередное ключевое слово, найти его в таблице.
То есть найти в таблице все буквы этого слова, причем они должны быть расположены так, чтобы
клетка, в которой расположена каждая последующая буква слова, была соседней с клеткой, в
которой записана предыдущая буква (клетки называются соседними, если они имеют общую
сторону — то есть соседствуют по вертикали или по горизонтали). Например, на рисунке
показано, как может быть расположено в таблице слово olympiad.
Когда Петя находит слово, он вычеркивает его из таблицы. Использовать уже вычеркнутые буквы в других ключевых
словах нельзя. После того, как найдены и вычеркнуты все ключевые слова, в таблице остаются еще несколько букв, из
которых Петя должен составить слово, зашифрованное в головоломке.
Помогите Пете в решении этой головоломки, написав программу, которая по данной таблице и списку ключевых слов
выпишет, из каких букв Петя должен сложить слово, то есть какие буквы останутся в таблице после вычеркивания
ключевых слов.
https://acmp.ru/index.asp?main=alltasks 125/591
2/29/2020 Все задачи сайта

Входные данные
Во входном файле INPUT.TXT записаны два числа N (1 ≤ N ≤ 10) и M (0 ≤ M ≤ 100). Следующие N строк по N
заглавных английских букв описывают ребус. Следующие M строк содержат слова. Слова состоят только из заглавных
английских букв, каждое слово имеет длину от 1 до 100 символов. Гарантируется, что в таблице можно найти и
вычеркнуть по описанным выше правилам все ключевые слова.

Выходные данные
В выходной файл OUTPUT.TXT выведите в алфавитном порядке оставшиеся в таблице буквы.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 3 AENRSW
POLTE
RWYMS
OAIPT
1 BDANR
LEMES
OLYMPIAD
PROBLEM
TEST
3 2 ABCQQW
ISQ
ABC
2
IQW
I
IS

Задача №238
Побег с космической станции
(Время: 1 сек. Память: 16 Мб Сложность: 46%)
Представьте, что вы состоите на службе во внешней разведке Межгалактического Альянса Республиканских Сил
(МАРС). Одному из агентов разведки крупно не повезло, и он был захвачен на засекреченной космической базе. К
счастью, внешней разведке МАРС удалось заполучить план этой базы. И вот теперь вам поручено разработать план побега.
База представляет собой прямоугольник размером NхM, со всех сторон окружённый стенами, и состоящий из
квадратных отсеков единичной площади. База снабжена K выходами, до одного из которых агенту необходимо добраться.
В некоторых отсеках базы находятся стены. Ваш агент может перемещаться из отсека в любой из четырех соседних с ним,
если в том отсеке, куда он хочет переместиться, нет стены.
Кроме того, база снабжена системой гипертуннелей, способных перемещать агента из одного отсека базы (вход в
гипертуннель) в другой (выход из гипертуннеля). Когда агент находится в отсеке, где есть вход в гипертуннель, он может
(но не обязан) им воспользоваться.
Начальное положение вашего агента известно. Вам необходимо найти кратчайший путь побега (то есть путь,
проходящий через минимальное количество отсеков).

Входные данные
В первой строке входного файла INPUT.TXT записаны числа N и M (2 ≤ N ≤ 100, 2 ≤ M ≤ 100), задающие размеры
базы: N — количество строк в плане базы, M — количество столбцов. Во второй строке записаны начальные координаты
агента XA,YA (1 ≤ XA ≤ N, 1 ≤ YA ≤ M). Первая координата задает номер строки, вторая — номер столбца. Строки
нумеруются сверху вниз, столбцы слева направо. Далее следуют N строк по M чисел, задающих описание стен внутри
базы: 1 соответствует стенке, 0 — её отсутствию. Далее в отдельной строке записано число H (0 ≤ H ≤ 1000) — количество
гипертуннелей. В последующих H строках идут описания гипертуннелей. Каждый гипертуннель задается 4 числами: X1,
Y1, X2, Y2 (1 ≤ X1,X2 ≤ N; 1 ≤ Y1,Y2 ≤ M) — координатами входа и выхода гипертуннеля. Никакие два гипертуннеля не
имеют общего входа. После этого в отдельной строке следует число K (1 ≤ K ≤ 10) — количество выходов с базы. В
последующих K строках идут описания выходов с базы. Каждый выход задается двумя координатами X и Y (1 ≤ X ≤ N; 1 ≤
Y ≤ M).

https://acmp.ru/index.asp?main=alltasks 126/591
2/29/2020 Все задачи сайта

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

Выходные данные
Если побег невозможен, выведите в выходной файл OUTPUT.TXT "Impossible". В противном случае следует вывести
количество отсеков в кратчайшем пути побега.

Пример
№ INPUT.TXT OUTPUT.TXT
4 5 4
2 1
0 0 0 0 0
0 1 0 0 0
0 0 0 0 0
1 0 0 0 0 0
2
1 2 1 4
3 1 1 4
1
2 4

Задача №239
Узор
(Время: 1 сек. Память: 16 Мб Сложность: 80%)
В комнате решили сделать паркетный пол. Причем есть задумка выложить на полу некоторый узор. Плитки паркета,
которыми выкладывается пол комнаты, состоят из квадратиков 1×1, каждый из которых может быть либо белым, либо
черным. В свою очередь, комната имеет размеры N×M. На плане комнаты указано, какой квадрат комнаты какого цвета
должен быть. Существует несколько форм паркетных плиток:

Квадратики одной паркетной плитки могут быть окрашены по-разному. Может существовать несколько типов плиток
одинаковой формы, но окрашенных по-разному. Плитки разных типов могут иметь разную стоимость. Количество плиток
каждого типа не ограничено. Плитки разрешается как угодно поворачивать (на углы, кратные 90 градусам). Не
разрешается разламывать плитки, а также класть их лицевой стороной вниз.
Изначально, какая-то часть пола может уже быть выложена плиткой. Требуется определить минимальную стоимость
плитки, необходимой для того, чтобы замостить оставшуюся часть комнаты.

Входные данные
В первой строке входного файла INPUT.TXT записаны три числа: N, M (размеры комнаты) и K (количество доступных
видов плитки). 1 ≤ N ≤ 8, 1 ≤ M ≤ 8, 1 ≤ K ≤ 10. Далее идет описание желаемой раскраски пола. Описание представляет
собой N строчек по M чисел в каждой, где 0 обозначает белый цвет, 1 — черный, 2 — то, что квадрат уже выложен
плиткой. В последних K строчках находятся описания доступных типов плитки в следующем формате:
<форма> <стоимость> <окраска>
<Форма> — это число от 1 до 4, описывающее форму плитки (см. рисунок выше)
<Стоимость> — это натуральное число, не превосходящее 10000, задающее стоимость одной плитки такого типа
<Окраска> — это от одного до трех чисел 0 или 1. Количество чисел совпадает с количеством квадратиков, из которых
состоит плитка. Числа задают цвета квадратиков плитки в том порядке, в каком квадратики пронумерованы на рисунке.

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

https://acmp.ru/index.asp?main=alltasks 127/591
2/29/2020 Все задачи сайта

В выходной файл OUTPUT.TXT выведите единственное число — минимальную стоимость укладки или –1, если
требуемым образом уложить плитку невозможно.

Пример
№ INPUT.TXT OUTPUT.TXT
4 3 3 15
2 2 2
2 0 0
2 1 2
1
2 2 2
2 10 0 0
1 5 1
4 6 0 0 1

Задача №240
Кубическая гостиница
(Время: 1 сек. Память: 16 Мб Сложность: 60%)
В связи с проведением межпланетного шашечного турнира было принято решение о строительстве орбитальной
гостиницы. Она должна была представлять собой большой куб из N×N×N блоков – маленьких кубиков 1×1×1, и каждый
блок должен был быть окрашен снаружи со всех сторон в какой-то один цвет. При этом некоторые блоки могли быть
покрашены в один и тот же цвет.
Через год были сделаны фотографии гостиницы с каждой из 6 сторон: спереди, слева, сзади, справа, сверху, снизу. За
год эксплуатации могло случиться так, что из-за непрочного крепления некоторые блоки, из которых была построена
гостиница, оторвались и улетели в открытый космос. Комиссия по восстановлению гостиницы хочет по сделанным
снимкам установить максимальное возможное количество оставшихся блоков.
Итак, вам необходимо по видам гостиницы (куба N×N×N, из которого, возможно, выкинуты некоторые кубики 1×1×1)
с 6 сторон определить, из какого максимального количества блоков 1×1×1 она может состоять. Может оказаться так, что
гостиница состоит из двух или более не связанных между собой частей.

Входные данные
В первой строке входного файла INPUT.TXT находится число N — размер гостиницы (1≤N≤10). На следующих N
строках записаны виды гостиницы с 6 сторон (в следующем порядке: спереди, слева, сзади, справа, сверху, снизу). Каждый
такой вид представляет собой таблицу N×N, в которой различными заглавными английскими буквами обозначены
различные цвета, а символом «.» (точка) — то, что в этом месте можно будет смотреть прямо сквозь гостиницу. Два
последовательных вида отделяются друг от друга ровно одним пробелом в каждой из N строк.
Нижняя граница вида сверху соответствует верхней границе вида спереди, а верхняя граница вида снизу — нижней
границе вида спереди. Для видов спереди, сзади и с боков верх и низ вида соответствуют верху и низу гостиницы.
Входные данные корректны, то есть во входном файле описано состояние, которое может получиться.

Выходные данные
Выведите в выходной файл OUTPUT.TXT одно число — искомое максимальное количество оставшихся блоков в
гостинице.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 11
.R. YYR .Y. RYY .Y. .R.
1
GRB YGR BYG RBY GYB GRB
.R. YRR .Y. RRY .R. .Y.
2 8
2 ZZ ZZ ZZ ZZ ZZ ZZ
ZZ ZZ ZZ ZZ ZZ ZZ

https://acmp.ru/index.asp?main=alltasks 128/591
2/29/2020 Все задачи сайта

Задача №241
Праздники
(Время: 1 сек. Память: 16 Мб Сложность: 39%)
Парламент некоторой страны принял новый закон о праздничных днях. Согласно этому закону первые K дней года, а
также 23 февраля и 8 марта объявляются праздничными, а все остальные праздники отменяются. При этом все выходные
(суббота и воскресенье), попавшие на праздничные дни, переносятся на следующие за этими праздниками рабочие дни.
В зависимости от того, на какой день недели приходится 1 января, количество нерабочих дней, которые идут подряд,
может меняться.
Требуется определить, какое наибольшее количество нерабочих дней может идти подряд.

Входные данные
Во входном файле INPUT.TXT записано единственное число K (1 ≤ K ≤ 50).

Выходные данные
В выходной файл OUTPUT.TXT требуется записать единственное число — наибольшее количество нерабочих дней,
идущих подряд.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 4
2 10 16

Задача №242
Раскраска плиток
(Время: 1 сек. Память: 16 Мб Сложность: 66%)
После того, как к удивлению тётушки Полли, её забор был покрашен, она поручила Тому Сойеру обновить краску на
плитках, которыми был вымощен их квадратный двор. Двор был покрыт N×N одинаковыми квадратными плитками,
каждая из которых когда-то давно была покрашена в один из K цветов (K < N). Краска на плитках потускнела и Тому
Сойеру поручили их покрасить, на этот раз в один любой цвет (из тех же К цветов). Покрасить нужно все плитки, в том
числе и те, которые уже были покрашены в этот цвет раньше.
Окунув кисть в ведро с краской один раз, можно перекрасить один горизонтальный или вертикальный ряд плиток.
Чтобы разнообразить свою работу, Том придумал, что ряд плиток можно красить только цветом, которым на данный
момент уже покрашены (старой или новой краской) по крайней мере две плитки выбранного ряда (вертикального или
горизонтального). За один раз Том собирается красить допустимым цветом весь ряд целиком, независимо от того, были ли
уже перекрашены какие-либо его плитки ранее. Помогите Тому определить, какое минимальное число раз ему придется
обмакнуть кисть, чтобы перекрасить все плитки, следуя придуманным правилам, и в какой цвет окажутся окрашены все
плитки.

Входные данные
В первой строке входного файла INPUT.TXT записаны через пробел два числа: N — количество плиток в одном ряду
(1 < N ≤ 200) и K (1 ≤ K < N). В каждой из следующих N строк записаны N натуральных чисел, обозначающих номера
цветов красок, в которые когда-то были выкрашены соответствующие плитки данного горизонтального ряда. Номера
цветов — натуральные числа в диапазоне от 1 до K.

Выходные данные
В выходной файл OUTPUT.TXT выведите два числа: L — какое минимальное число раз придется окунать кисть в
ведро с краской, и номер краски С, в которую в результате окажутся перекрашены все плитки двора. Если таких красок
может быть несколько, то выведите любую из них. Если перекрасить все плитки, следуя придуманным Томом правилам,
нельзя, выведите два раза число 0.

Примеры
№ INPUT.TXT OUTPUT.TXT
https://acmp.ru/index.asp?main=alltasks 129/591
2/29/2020 Все задачи сайта

3 2 4 1
1 2 1
1
2 1 1
1 2 2
2 1 2 1
2 1 1
1 1

Задача №243
Маскарад
(Время: 1 сек. Память: 16 Мб Сложность: 63%)
По случаю введения больших новогодних каникул устраивается великий праздничный бал-маскарад. До праздника
остались считанные дни, поэтому срочно нужны костюмы для участников. Для пошивки костюмов требуется L метров
ткани. Ткань продается в N магазинах, в которых предоставляются скидки оптовым покупателям. В магазинах можно
купить только целое число метров ткани. Реклама магазина номер i гласит "Мы с радостью продадим Вам метр ткани за Pi
рублей, однако если Вы купите не менее Ri метров, то получите прекрасную скидку — каждый купленный метр обойдется
Вам всего в Qi рублей". Чтобы воплотить в жизнь лозунг "экономика страны должна быть экономной", правительство
решило потратить на закупку ткани для костюмов минимальное количество рублей из государственной казны. При этом
ткани можно купить больше, чем нужно, если так окажется дешевле. Ответственный за покупку ткани позвонил в каждый
магазин и узнал, что:

1. реклама каждого магазина содержит правдивую информацию о ценах и скидках;


2. магазин номер i готов продать ему не более Fi метров ткани.

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

Входные данные
В первой строке входного файла записаны два целых числа N и L (1 ≤ N ≤ 100, 0 ≤ L ≤ 100). В каждой из последующих
N строк находится описание магазина номер i — 4 целых числа Pi, Ri, Qi, Fi (1 ≤ Qi ≤ Pi ≤ 1000, 1 ≤ Ri ≤ 100, 0 ≤ Fi ≤ 100).

Выходные данные
В выходной файл OUTPUT.TXT выведите минимально возможную стоимость материи. Если покупка невозможна,
выведите -1.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 14 88
1 7 9 6 10
7 8 6 10
1 20 -1
2
1 1 1 1

Задача №244
Билетики
(Время: 0,5 сек. Память: 16 Мб Сложность: 37%)
В процессе установки турникетов в автобусах, разработчики столкнулись с проблемой проверки подлинности билета.
Для ее решения был придуман следующий способ защиты от подделок.
Информация, записанная на билете, кодируется K числами (0 или 1). При этом непосредственно на билете
записывается последовательность из N чисел (N ≥ K) так, что числа, записанные на расстоянии K, совпадают. Таким
образом, для проверки подлинности билета достаточно проверить, что все числа на расстоянии K совпадают. К
сожалению, при считывании информации с билета иногда могут происходить ошибки — считается, что одно из чисел
может исказиться (то есть 0 замениться на 1, или 1 — на 0). Такой билет все равно нужно считать подлинным. Во всех
остальных случаях билет считается поддельным.

https://acmp.ru/index.asp?main=alltasks 130/591
2/29/2020 Все задачи сайта

Напишите программу, которая по информации, считанной с билета, устанавливает его подлинность, и указывает на то,
при считывании какого из чисел могла произойти ошибка.

Входные данные
В первой строке входного файла INPUT.TXT записаны числа N и K (1 ≤ N ≤ 50000, 1 ≤ K ≤ 1000, K ≤ N). Во второй
строке записано N чисел, каждое из которых является 0 или 1 — информация, считанная с билета.

Выходные данные
В первой строке выходного файла OUTPUT.TXT должно быть записано OK, если билет подлинный и FAIL, если
поддельный. В случае, если билет подлинный, во второй строке выведите 0, если все числа были считаны правильно, или
номер числа, в котором при считывании произошла ошибка. Если возможных искаженных номеров несколько, выведите
наименьший из них.

Примеры
№ INPUT.TXT OUTPUT.TXT
6 2 OK
1
1 0 1 0 1 0 0
8 5 OK
2
0 1 1 0 1 0 0 1 2
6 2 FAIL
3
1 1 1 0 0 0

Задача №245
Сплоченная команда
(Время: 0,5 сек. Память: 16 Мб Сложность: 42%)
Как показывает опыт, для создания успешной футбольной команды важны не только умения отдельных её участников,
но и сплочённость команды в целом. Характеристикой умения игрока является показатель его профессионализма (ПП).
Команда является сплочённой, если ПП каждого из игроков не превосходит суммы ПП любых двух других (в частности,
любая команда из одного или двух игроков является сплоченной). Перед тренерским составом молодёжной сборной была
поставлена задача сформировать сплоченную сборную с максимальной суммой ПП игроков (ограничений на количество
игроков в команде нет).
Ваша задача состоит в том, чтобы помочь сделать правильный выбор из N человек, для каждого из которых известен
его ПП.

Входные данные
В первой строке входного файла INPUT.TXT записано целое число N (0 ≤ N ≤ 30 000). В последующих N строках
записано по одному целому числу Pi (0 ≤ Pi ≤ 60 000), представляющему собой ПП соответствующего игрока.

Выходные данные
В выходной файл OUTPUT.TXT выведите максимально возможную сумму ПП игроков сплоченной команды.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 11
1
1 5
3
3
2 5 120
100
20
20

https://acmp.ru/index.asp?main=alltasks 131/591
2/29/2020 Все задачи сайта
20
20

Задача №246
Вагоны
(Время: 1 сек. Память: 16 Мб Сложность: 23%)
Ежедневно диспетчеру железнодорожной станции приходится переставлять вагоны во многих поездах, чтобы они шли
в заданном порядке. Для этого диспетчер может расцепить пришедший на станцию состав в произвольных местах и
переставить образовавшиеся сцепки из одного или нескольких вагонов в произвольном порядке. Порядок вагонов в одной
сцепке менять нельзя, также нельзя развернуть всю сцепку так, чтобы последний вагон в сцепке оказался первым в ней.
Диспетчер просит вашей помощи в определении того, какое минимальное число соединений между вагонами
необходимо расцепить, чтобы переставить вагоны в составе в требуемом порядке.

Входные данные
В первой строке входного файла INPUT.TXT содержится целое число N (1 ≤ N ≤ 100). Во второй строке содержится
перестановка натуральных чисел от 1 до N (то есть все натуральные числа от 1 до N в некотором порядке). Числа
разделяются одним пробелом. Эта перестановка задает номера вагонов в приходящем на станцию составе. Требуется,
чтобы в уходящем со станции составе вагоны шли в порядке их номеров.

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

Примеры
№ INPUT.TXT OUTPUT.TXT
4 2
1
3 1 2 4
5 4
2
5 4 3 2 1
2 0
3
1 2

Задача №247
Кафе
(Время: 1 сек. Память: 16 Мб Сложность: 46%)
Около Петиного университета недавно открылось новое кафе, в котором действует следующая система скидок: при
каждой покупке более чем на 100 рублей покупатель получает купон, дающий право на один бесплатный обед (при
покупке на сумму 100 рублей и меньше такой купон покупатель не получает).
Однажды Пете на глаза попался прейскурант на ближайшие N дней. Внимательно его изучив, он решил, что будет
обедать в этом кафе все N дней, причем каждый день он будет покупать в кафе ровно один обед. Однако стипендия у Пети
небольшая, и поэтому он хочет по максимуму использовать предоставляемую систему скидок так, чтобы его суммарные
затраты были минимальны.

Входные данные
В первой строке входного файла INPUT.TXT записано целое число N (0 ≤ N ≤ 100). В каждой из последующих N
строк записано одно целое число, обозначающее стоимость обеда в рублях на соответствующий день. Стоимость —
неотрицательное целое число, не превосходящее 300.

Выходные данные
В первой строке выходного файла OUTPUT.TXT выдайте минимальную возможную суммарную стоимость обедов. Во
второй строке выдайте два числа K1 и K2 — количество купонов, которые останутся неиспользованными у Пети после
этих N дней и количество использованных им купонов соответственно. Если существует несколько решений с
https://acmp.ru/index.asp?main=alltasks 132/591
2/29/2020 Все задачи сайта

минимальной суммарной стоимостью, то выдайте то из них, в котором значение K1 максимально (на случай, если Петя
когда-нибудь ещё решит заглянуть в это кафе).

Пример
№ INPUT.TXT OUTPUT.TXT
5 235
35 0 1
40
1
101
59
63

Задача №248
EuroEnglish
(Время: 1 сек. Память: 16 Мб Сложность: 55%)
Европейская комиссия планирует принять решение о том, что официальным языком Евросоюза станет английский.
Был также разработан план упрощения английской письменности, который планируется реализовать за четыре года.
Первоочередной задачей будет избавление от буквы c, которая в сочетаниях сi и сe будет изменяться на s, в сочетании
ck — опускаться, а в остальных случаях заменяться на k. При этом все замены будут производиться в строгом порядке
слева направо. То есть, например, в слове success сначала первая из двух букв c заменится на k, а затем вторая — на s, то
есть получится suksess. А слово cck превратится в kk.
На второй год из английских слов изымут все удвоенные буквы: ee изменят на i, oo - на u, a в остальных комбинациях
будут просто писать одну букву вместо двух одинаковых. Такие замены также будут делать строго в порядке слева
направо. Так, слово ooo превратится в uo, а oou — просто в u (в нем сначала oo заменится на u, а затем uu — на u), слово
iee превратится в i (в нем сначала ee заменится на i, а затем ii — на i).
На третий год на конце слова станут опускать букву е, если она не единственная буква в слове.
Наконец, завершением реформы станет отмена артиклей (в английском языке три артикля: а, an и the). При этом
удаляться эти артикли будут только тогда, когда они в исходном тексте были словами a, an, the. То есть, например, текст the
table после реформ первых трех лет превратиться в th tabl, а после реформы четвертого года — просто в tabl. А слово aaaaa
после реформы первых лет станет словом a, но поскольку изначально оно не было словом a (артиклем), то оно в итоге так
и останется словом a.
Напишите программу, которая будет переводить классический английский текст на Eвроинглиш.

Входные данные
Во входном файле INPUT.TXT записана одна строка текста, состоящая не более чем из 200 символов: английских
строчных и заглавных букв, пробелов и знаков препинания (в тексте могут встречаться: точка, запятая, вопросительный и
восклицательный знаки, двоеточие, тире, точка с запятой, открывающаяся и закрывающаяся скобки, апострофы, кавычки).
Заглавные буквы могут встречаться только в начале слова. Нигде подряд не могут стоять два пробела. В начале и в конце
строки не может стоять пробел. Слова отделяются друг от друга пробелами и/или знаками препинания.

Выходные данные
В выходной файл OUTPUT.TXT нужно выдать преобразованную строку при ограничениях:

начинаться с заглавной буквы должны те и только те слова, которые начинались с заглавной буквы в исходном
тексте;
не должно встречаться двух пробелов подряд;
пробелы между словами и знаками препинания должны остаться там и только там, где они были в исходной строке, в
начале и в конце строки пробелов быть не должно.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 cacao and coffee kakao and kofi
2 Cinderella! Where Is The Dress??? Sinderela! Wher Is Dres???

https://acmp.ru/index.asp?main=alltasks 133/591
2/29/2020 Все задачи сайта
3 'A' is a letter '' is leter
4 !!!Hello!!!A-the-"word" !!!Helo!!!--"word"
5 Aaaa then the ckckck A then k
6 "A"-the an ""-
7 A the an
8 success sukses

Задача №249
Скобки
(Время: 1 сек. Память: 16 Мб Сложность: 50%)
Назовем строку S правильной скобочной последовательностью, если она состоит только из символов '{', '}', '[', ']', '(', ')'
и выполнено хотя бы одно из следующих трех условий:

1. S — пустая строка;
2. S можно представить в виде S=S1+S2+S3+...+SN (N>1), где Si — непустые правильные скобочные
последовательности, а знак "+" обозначает конкатенацию (приписывание) строк;
3. S можно представить в виде S='{'+C+'}' или S='['+C+']' или S='('+C+')', где C является правильной скобочной
последовательностью.

Дана строка, состоящая только из символов '{', '}', '[', ']', '(', ')'. Требуется определить, какое минимальное количество
символов надо вставить в эту строку для того, чтобы она стала правильной скобочной последовательностью.

Входные данные
В первой строке входного файла INPUT.TXT записана строка, состоящая только из символов '{', '}', '[',']', '(', ')'. Длина
строки не превосходит 100 символов.

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на поставленную задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 {(}) 2
2 ([{}]) 0

Задача №250
Двоякие числа
(Время: 1 сек. Память: 16 Мб Сложность: 27%)
Натуральное число называется двояким, если в его десятичной записи встречается не более двух различных цифр.
Например, числа 3, 23, 33, 100, 12121 — двоякие, а числа 123 и 9980 — нет.
Для заданного натурального числа N требуется найти ближайшее к нему двоякое число.

Входные данные
Во входном файле INPUT.TXT записано одно натуральное число N, не превосходящее 30 000.

Выходные данные
В выходной файл OUTPUT.TXT требуется выдать единственное число — ближайшее двоякое к числу N. Если таких
чисел несколько, то следует вывести наименьшее.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 123 122
https://acmp.ru/index.asp?main=alltasks 134/591
2/29/2020 Все задачи сайта

2 2012 2020
3 11111 11111

Задача №251
Калах
(Время: 1 сек. Память: 16 Мб Сложность: 57%)
Для игры в калах используют несколько коробочек,
расставленных по кругу, в которых лежат шарики. Ход
осуществляется следующим образом. Берутся все шарики из одной
коробочки, и начинают раскладываться по одному в коробочки
подряд начиная со следующей по часовой стрелке. Если шариков
больше, чем коробочек, то процесс продолжается (шарики
раскладываются по второму кругу, по третьему и т.д.), пока не будут
разложены все шарики. В коробочку, из которой взяли шарики, их
тоже кладут. Пример одного хода приведен на рисунке. Справа
шарики пронумерованы в том порядке, в котором они
раскладывались по коробочкам.
Петя, тренируясь перед соревнованиями, разложил шарики по коробочкам произвольным образом, и стал делать
произвольные ходы. После каждого хода он записывал номер коробочки, в которую попадал последний шарик. В
некоторый момент он решил восстановить начальную конфигурацию по конечной и по тем записям, которые он делал.
Напишите программу, которая поможет ему в этом.

Входные данные
В первой строке входного файла INPUT.TXT записано два натуральных числа: N ≤ 100 — количество коробочек и M ≤
100 — количество сделанных Петей ходов. Коробочки пронумерованы последовательно по часовой стрелке числами от 1
до N. В следующих N строках (либо в одной строке через пробел) записано количество шариков в первой, второй, …, N ой
коробочках в конечной конфигурации. В следующих M строках (либо в одной строке через пробел) записаны номера
коробочек, в которые был положен последний шарик на первом, втором, ..., M-ом ходу соответственно. Общее количество
шариков не превосходит 109.

Выходные данные
В выходной файл OUTPUT.TXT требуется вывести N чисел: первоначальное количество шариков в первой, второй, ...,
N-ой коробочках.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 1 7 0 0 0
1 1 2 2 2
4
2 2 1 1
1
2 1
2
2

Задача №252
Сортировка масс
(Время: 1 сек. Память: 16 Мб Сложность: 44%)
Как известно, Россия является одним из ведущих экспортеров нефти. Разные страны мира, от достаточно больших до
сравнительно маленьких, нуждаются в этой нефти как в воздухе. В ее состав в больших количествах входят ароматические
углеводороды, которые обуславливают ее высокое качество. Доставка нефти в пункт назначения осуществляется с
помощью нефтепровода. Считается, что количество нефти, отправленное в страну назначения, равно количеству
полученной нефти. На самом деле это, конечно, не так. Как и многое другое, нефть воруют некоторые несознательные
личности. Причем неофициально считается, что больше нефти воруют в нефтепроводах тех стран, куда нефти посылается
больше (может быть, несознательные личности считают, что приносят, таким образом, меньше ущерба, кто знает...).
https://acmp.ru/index.asp?main=alltasks 135/591
2/29/2020 Все задачи сайта

Официальное руководство компании «Русская Нефть» решило узнать, правдивый это слух или нет, чтобы усилить (а может
просто установить) охрану на тех нефтепроводах, где больше всего воруют нефть.
Для этого им нужно отсортировать нефтепроводы по количеству нефти, которая протекает в направлении какой-то
страны за сутки. У компании «Русская Нефть», как и у любой уважающей себя компании, есть несколько штатных
программистов, и руководство предложило им решить эту, в сущности, нетрудную задачу. Но программистов поставило в
тупик то, что данные о количестве нефти представлены в разных единицах измерения (начиная от граммов и заканчивая
тоннами).
Поэтому они решили найти человека, который был бы в силах решить эту задачу за них, и обещают взять его на
работу в эту перспективную и процветающую компанию. Решите задачу, и, кто знает, может, повезет именно Вам?

Входные данные
В первой строке входного файла INPUT.TXT находится целое число N (1 ≤ N ≤ 1000) — количество нефтепроводов. В
каждой из следующих N строк находится количество (точнее — масса) нефти, транспортированной по соответствующему
нефтепроводу за сутки, по одному в строке. Масса нефти задана целым числом от 1 до 10000 с указанием
соответствующей единицы измерения. Число и единица измерения разделены ровно одним пробелом. Единица измерения
задается одной из трех букв: g (граммы), p (пуды), t (тонны), причем перед этой буквой может стоять одна из приставок: m
(милли-), k (кило-), M (мега-), G (гига-). Напомним, что эти приставки обозначают умножение единицы измерения на 10–3,
103, 106 и 109 соответственно. 1 пуд = 16380 граммов, 1 тонна = 106 граммов.

Выходные данные
В выходной файл OUTPUT.TXT выведите N строк, в которых должны быть записаны массы нефти в порядке
неубывания. Каждая строка должна описывать массу нефти в одном из нефтепроводов. Массы должны быть описаны в том
же формате, в котором записаны во входном файле. Приоритет равных масс, записанных в разных форматах должен
соответствовать порядку, в котором они следуют во входном файле.

Пример
№ INPUT.TXT OUTPUT.TXT
5 32 mg
234 g 234 g
4576 mp 4576 mp
1
2 t 2 t
32 mg 2 Mg
2 Mg

Задача №253
Часы с боем
(Время: 1 сек. Память: 16 Мб Сложность: 25%)
Старинные часы бьют каждые полчаса. Причем в начале каждого часа они бьют столько раз, сколько сейчас часов (по
1 разу – в час ночи и в час дня, по 2 раза – в два часа ночи в два часа дня и т.д., в полночь и в полдень они бьют,
соответственно, по 12 раз). И еще 1 раз они бьют в середине каждого часа.
Дан промежуток времени (известно, что прошло строго меньше 24 часов). Напишите программу, определяющую,
сколько ударов сделали часы за это время.

Входные данные
В первой строке входного файла INPUT.TXT записан начальный момент времени, во второй строке — конечный.
Моменты времени задаются двумя целыми числами, разделяющимися пробелом. Первое число задает часы (от 0 до 23),
второе — минуты (от 1 до 59, при этом оно не равно 30).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число — сколько ударов сделали часы за этот отрезок времени.

Примеры
№ INPUT.TXT OUTPUT.TXT
https://acmp.ru/index.asp?main=alltasks 136/591
2/29/2020 Все задачи сайта

5 20 45
1
10 25
10 25 135
2
5 20
5 2 0
3
5 21

Задача №254
Выборы жрецов
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
В стране Олимпиадии снова выборы.
Страна состоит из маленьких графств. Графства объединяются в конфедерации. Каждая конфедерация раз в год
выбирает себе покровителя – одного из 200 жрецов. Этот ритуал называется Великими Перевыборами Жрецов и выглядит
так: конфедерации одновременно подают заявления (одно от конфедерации) в Совет Жрецов о том, кого они хотели бы
видеть своим покровителем (если заявление не подано, то считают, что конфедерация хочет оставить себе того же
покровителя). После этого все заявки удовлетворяются. Если несколько конфедераций выбирают одного и того же Жреца,
то они навсегда объединяются в одну. Таким образом, каждый Жрец всегда является покровителем не более чем одной
конфедерации. Требуется написать программу, позволяющую Совету Жрецов выяснить номер Жреца-покровителя каждого
графства после Великих Перевыборов. В Совете все графства занумерованы (начиная с 1). Все Жрецы занумерованы
числами от 1 до 200 (некоторые из них сейчас могут не быть ничьими покровителями).

Входные данные
Во входном файле INPUT.TXT записано число N – количество графств в стране (1 ≤ N ≤ 5000) – и далее для каждого
графства записан номер Жреца-покровителя конфедерации, в которую оно входит (графства считаются по порядку их
номеров). Затем указаны заявления от конфедераций. Сначала записано число M – количество поданных заявлений, а затем
M пар чисел (1 ≤ M ≤ 200): первое число – номер текущего Жреца-покровителя, второе – номер желаемого Жреца-
покровителя.
Все числа во входном файле разделяются пробелами и (или) символами перевода строки.

Выходные данные
В выходной файл OUTPUT.TXT вывести для каждого графства одно число – номер его Жреца-покровителя после
Великих Перевыборов. Сначала – для первого графства, затем – для второго и т.д.

Пример
№ INPUT.TXT OUTPUT.TXT
7 3 3 1 3 3 1 3
1 1 5 3 1 5 1
1 2
5 1
1 3

Задача №255
Представление чисел
(Время: 0,5 сек. Память: 16 Мб Сложность: 40%)
Дано натуральное число N. Требуется представить его в виде суммы двух натуральных чисел A и B таких, что НОД
(наибольший общий делитель) чисел A и B — максимален.

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

Во входном файле INPUT.TXT записано натуральное число N (2 ≤ N ≤ 109)

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

https://acmp.ru/index.asp?main=alltasks 137/591
2/29/2020 Все задачи сайта

В выходной файл OUTPUT.TXT выведите два искомых числа A и B. Если решений несколько, выведите то из них, где
A принимает наименьшее возможное значение.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 15 5 10
2 16 8 8

Задача №256
Гексагон
(Время: 1 сек. Память: 16 Мб Сложность: 38%)
Поле для игры в новую игру "Гексагон" разбито на шестиугольники (см.
рисунок). Игрок, стартуя из некоторого начального шестиугольника, сделал несколько
ходов. Каждый ход заключается в перемещении фишки в соседний шестиугольник
(имеющий с тем, где находилась фишка до начала хода, общую сторону) — тем
самым, ход делается вдоль одного из направлений X, Y или Z (см. рисунок). Игрок
записал все свои ходы, причем если фишка двигалась вдоль какого-либо направления
несколько раз подряд, то в записи это обозначается указанием направления и
количества ходов, которые были сделаны.
Напишите программу, которая найдет кратчайший (по количеству совершаемых
ходов) путь в начальную клетку из той, где фишка оказалась после ходов игрока.

Входные данные
В первой строке входного файла INPUT.TXT записано число N — количество
строк в записи перемещений фишки (1 ≤ N ≤ 100). Далее идет N строк с записью
ходов: в каждой строке записана сначала большая буква X, Y или Z, задающая направление, затем пробел, и число,
задающее количество ходов в данном направлении (число может быть и отрицательным, если игрок перемещал фишку
параллельно оси, но в направлении, противоположном направлению оси). Все числа по модулю не превышают 200.

Выходные данные
В выходной файл OUTPUT.TXT выведите длину кратчайшего пути обратно в начальную клетку.

Пример
№ INPUT.TXT OUTPUT.TXT
4 4
Z -2
1 Y 3
Z 3
X -1

Задача №257
Кубическое уравнение
(Время: 1 сек. Память: 16 Мб Сложность: 56%)
Напишите программу, которая будет искать все целые X, удовлетворяющие уравнению A*X3 + B*X2 + C*X + D = 0,
где A, B, C, D – заданные целые коэффициенты.

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

Во входном файле INPUT.TXT записаны четыре целых числа: A, B, C, D. Все числа по модулю не превышают 2×109.

Выходные данные
В выходной файл OUTPUT.TXT выведите сначала количество различных корней этого уравнения в целых числах, а
затем сами корни в возрастающем порядке. Если уравнение имеет бесконечно много корней, то следует вывести в
https://acmp.ru/index.asp?main=alltasks 138/591
2/29/2020 Все задачи сайта

выходной файл одно число -1 (минус один).

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 0 0 -27 1 3
2 0 1 2 3 0

Задача №258
Скорая помощь
(Время: 1 сек. Память: 16 Мб Сложность: 42%)
Бригада скорой помощи выехала по вызову в один из отделенных районов. К сожалению, когда диспетчер получил
вызов, он успел записать только адрес дома и номер квартиры K1, а затем связь прервалась. Однако он вспомнил, что по
этому же адресу дома некоторое время назад скорая помощь выезжала в квартиру K2, которая расположена в подъезде P2
на этаже N2. Известно, что в доме M этажей и количество квартир на каждой лестничной площадке одинаково. Напишите
программу, которая вычисляет номер подъезда P1 и номер этажа N1 квартиры K1.

Входные данные
Во входном файле INPUT.TXT записаны пять положительных целых чисел K1, M, K2, P2, N2. Все числа не
превосходят 1000.

Выходные данные
В выходной файл OUTPUT.TXT выведите два числа P1 и N1. Если входные данные не позволяют однозначно
определить P1 или N1, вместо соответствующего числа напечатайте 0. Если входные данные противоречивы, то следует
вывести два числа –1 (минус один).

Примеры
№ INPUT.TXT OUTPUT.TXT
1 89 20 41 1 11 2 3
2 11 1 1 1 1 0 1
3 3 2 2 2 1 -1 –1

Задача №259
A-функция от строчки
(Время: 1 сек. Память: 16 Мб Сложность: 59%)
Дана строка S, состоящая из N символов. Определим функцию A(i) от первых i символов этой строки следующим
образом:
A(i) = максимально возможному k, что равны следующие строки:
S[1]+S[2]+S[3]+…+S[k]
S[i]+S[i–1]+S[i–2]+…+S[i–k+1]
где S[i] – i-ый символ строки S, а знак + означает, что символы записываются в строчку непосредственно друг за
другом.
Напишите программу, которая вычислит значения функции A для заданной строчки для всех возможных значений i от
1 до N.

Входные данные
В первой строке входного файла INPUT.TXT записано одно число N. 1 ≤ N ≤ 200000. Во второй строке записана
строка длиной N символов, состоящая только из больших и/или маленьких английских букв.

Выходные данные
https://acmp.ru/index.asp?main=alltasks 139/591
2/29/2020 Все задачи сайта

В выходной файл OUTPUT.TXT выведите N чисел — значения функции A(1), A(2), … A(N).

Пример
№ INPUT.TXT OUTPUT.TXT
5 1 2 0 1 5
1
aabaa

Задача №260
Олимпиада по алхимии
(Время: 1 сек. Память: 16 Мб Сложность: 53%)
В государстве алхимиков есть N населённых пунктов, пронумерованных числами от 1 до N, и M дорог. Населённые
пункты бывают двух типов: деревни и города. Кроме того, в государстве есть одна столица (она может располагаться как в
городе, так и в деревне). Каждая дорога соединяет два населённых пункта, и для проезда по ней требуется Ti минут. В
столице было решено провести 1-ю государственную командную олимпиаду по алхимии. Для этого во все города из
столицы были отправлены гонцы (по одному на город) с информацией про олимпиаду.
Напишите программу, которая посчитает, в каком порядке и через какое время каждый из гонцов доберётся до своего
города. Считается, что гонец во время пути нигде не задерживается.

Входные данные
Во входном файле INPUT.TXT сначала записаны 3 числа N, M, K — количество населенных пунктов, количество
дорог и количество городов (2 ≤ N ≤ 1000, 1 ≤ M ≤ 10000, 1 ≤ K ≤ N). Далее записан номер столицы C (1 ≤ C ≤ N).
Следующие K чисел задают номера городов. Далее следуют M троек чисел Si, Ei, Ti, описывающих дороги: Si и Ei —
номера населенных пунктов, которые соединяет данная дорога, а Ti — время для проезда по ней (1 ≤ Ti ≤ 100).
Гарантируется, что до каждого города из столицы можно добраться по дорогам (возможно, через другие населенные
пункты) и то, что любые два населенных пункта соединены не более, чем одной дорогой.

Выходные данные
В выходной файл OUTPUT.TXT выведите K пар чисел: для каждого города должен быть выведен его номер и
минимальное время, когда гонец может в нем оказаться (время измеряется в минутах с того момента, как гонцы выехали из
столицы). Пары в выходном файле должны быть упорядочены по времени прибытия гонца, а в случае совпадения времени
следует сортировать эти пары по номерам городов.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 4 5 1 1 0
1 2 3 4 5 2 1
1 2 1 3 11
1
2 3 10 4 111
3 4 100 5 211
4 5 100
5 5 3 1 2 1
2 4 5 5 1
2 1 1 4 101
2 2 3 10
3 4 100
4 5 100
1 5 1

Задача №261
Лотерея
(Время: 1 сек. Память: 16 Мб Сложность: 71%)
На одном из телеканалов каждую неделю проводится следующая лотерея. В течение недели участники делают свои
ставки. Каждая ставка заключается в назывании какого-либо M-значного числа в системе счисления с основанием K (то

https://acmp.ru/index.asp?main=alltasks 140/591
2/29/2020 Все задачи сайта

есть, по сути, каждый участник называет M цифр, каждая из которых лежит в диапазоне от 0 до K–1). Ведущие нули в
числах допускаются.
В некоторый момент прием ставок на текущий розыгрыш завершается, и после этого ведущий в телеэфире называет
выигравшее число (это также M-значное число в K-ичной системе счисления). После этого те телезрители, у кого первая
цифра их числа совпала с первой цифрой числа, названного ведущим, получают выигрыш в размере A1 рублей. Те, у кого
совпали первые две цифры числа — получают A2 рублей (при этом если у игрока совпала вторая цифра, но не совпала
первая, он не получает ничего). Аналогично угадавшие первые три цифры получают A3 рублей. И так далее. Угадавшие
все число полностью получают AM рублей. При этом если игрок угадал t первых цифр, то он получает At рублей, но не
получает призы за угадывание t–1, t–2 и т.д. цифр. Если игрок не угадал первую цифру, он не получает ничего.
Напишите программу, которая по известным ставкам, сделанным телезрителями, находит число, которое должна
назвать телеведущая, чтобы фирма-организатор розыгрыша выплатила в качестве выигрышей минимальную сумму. Для
вашего удобства ставки, сделанные игроками, уже упорядочены по неубыванию.

Входные данные
В первой строке входного файла INPUT.TXT задаются числа N (количество телезрителей, сделавших свои ставки, 1 ≤
N ≤ 100000), M (длина чисел 1 ≤ M ≤ 10) и K (основание системы счисления 2 ≤ K ≤ 10). В следующей строке записаны M
чисел A1, A2, …, AM, задающих выигрыши в случае совпадения только первой, первых двух,... , всех цифр (1 ≤ A1 ≤ A2 ≤
… ≤ AM ≤ 100000). В каждой из следующих N строк либо в одной строке через пробел записано по одному M-значному K-
ичному числу. Числа идут в порядке неубывания.

Выходные данные
В выходной файл OUTPUT.TXT выведите наименьшую сумму, которую придется выплатить в качестве выигрыша.

Примеры
№ INPUT.TXT OUTPUT.TXT
10 3 2 6
1 1 3 100
000 000 001 010 100 100 100 100 110 111
1 1 10 0
2 100
0

Задача №262
Коммерческий калькулятор
(Время: 1 сек. Память: 16 Мб Сложность: 52%)
Фирма OISAC выпустила новую версию калькулятора. Этот калькулятор берет с пользователя деньги за совершаемые
арифметические операции. Стоимость каждой операции в долларах равна 5% от числа, которое является результатом
операции.
На этом калькуляторе требуется вычислить сумму N натуральных чисел (числа известны). Нетрудно заметить, что от
того, в каком порядке мы будем складывать эти числа, иногда зависит, в какую сумму денег нам обойдется вычисление
суммы чисел (тем самым, оказывается нарушен классический принцип «от перестановки мест слагаемых сумма не
меняется» ).
Например, пусть нам нужно сложить числа 10, 11, 12 и 13. Тогда если мы сначала сложим 10 и 11 (это обойдется нам в
$1.05), потом результат — с 12 ($1.65), и затем — с 13 ($2.3), то всего мы заплатим $5, если же сначала отдельно сложить
10 и 11 ($1.05), потом — 12 и 13 ($1.25) и, наконец, сложить между собой два полученных числа ($2.3), то в итоге мы
заплатим лишь $4.6.
Напишите программу, которая будет определять, за какую минимальную сумму денег можно найти сумму данных N
чисел.

Входные данные
Во входном файле INPUT.TXT записано число N (2 ≤ N ≤ 100000). Далее идет N натуральных чисел, которые нужно
сложить, каждое из них не превышает 10000.

https://acmp.ru/index.asp?main=alltasks 141/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT выведите, сколько денег нам потребуется на нахождение суммы этих N чисел.
Результат должен быть выведен с двумя знаками после десятичной точки без лидирующих нулей.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 4.60
1
10 11 12 13
2 0.10
2
1 1

Задача №263
Метро
(Время: 1 сек. Память: 16 Мб Сложность: 16%)
Витя работает недалеко от одной из станций кольцевой линии метро, а живет рядом с другой станцией той же линии.
Требуется выяснить, мимо какого наименьшего количества промежуточных станций необходимо проехать Вите по кольцу,
чтобы добраться с работы домой.

Входные данные
Во входном файле INPUT.TXT заданы три числа: сначала N – общее количество станций кольцевой линии, а затем i и j
– номера станции, на которой Витя садится, и станции, на которой он должен выйти. Станции пронумерованы подряд
натуральными числами 1, 2, 3, …, N (1-я станция – соседняя с N-й), N не превосходит 100. Числа i и j не совпадают. Все
числа разделены пробелом.

Выходные данные
В выходной файл OUTPUT.TXT требуется вывести минимальное количество промежуточных станций (не считая
станции посадки и высадки), которые необходимо проехать Вите.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 100 5 6 0
2 10 1 9 1

Задача №264
Оттепель
(Время: 1 сек. Память: 16 Мб Сложность: 17%)
Уставшие от необычно теплой зимы, жители решили узнать, действительно ли это самая длинная оттепель за всю
историю наблюдений за погодой. Они обратились к синоптикам, а те, в свою очередь, занялись исследованиями
статистики за прошлые годы. Их интересует, сколько дней длилась самая длинная оттепель.
Оттепелью они называют период, в который среднесуточная температура ежедневно превышала 0 градусов Цельсия.
Напишите программу, помогающую синоптикам в работе.

Входные данные
Во входном файле INPUT.TXT сначала записано число N – общее количество рассматриваемых дней (1 ≤ N ≤ 100). В
следующей строке через пробел располагается N целых чисел, разделенных пробелами. Каждое число – среднесуточная
температура в соответствующий день. Температуры – целые числа и лежат в диапазоне от –50 до 50.

Выходные данные
В выходной файл OUTPUT.TXT требуется вывести одно число – длину самой продолжительной оттепели, то есть
наибольшее количество последовательных дней, на протяжении которых среднесуточная температура превышала 0
градусов. Если температура в каждый из дней была неположительной, выведите 0.
https://acmp.ru/index.asp?main=alltasks 142/591
2/29/2020 Все задачи сайта

Примеры
№ INPUT.TXT OUTPUT.TXT
6 2
1
-20 30 -40 50 10 -10
8 4
2
10 20 30 1 -10 1 2 3
5 0
3
-10 0 -10 0 -10

Задача №265
Шахматная доска
(Время: 1 сек. Память: 16 Мб Сложность: 26%)
Из шахматной доски по границам клеток выпилили связную (не распадающуюся на
части) фигуру без дыр. Требуется определить ее периметр.

Входные данные
Во входном файле INPUT.TXT сначала записано число N (1 ≤ N ≤ 64) – количество
выпиленных клеток. В следующих N строках указаны координаты выпиленных клеток,
разделенные пробелом (номер строки и столбца – числа от 1 до 8). Каждая выпиленная
клетка указывается один раз.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – периметр выпиленной фигуры (сторона клетки равна
единице).

Примеры
№ INPUT.TXT OUTPUT.TXT
3 8
1 1
1
1 2
2 1
1 4
2
8 8

Задача №266
Кассы
(Время: 1 сек. Память: 16 Мб Сложность: 39%)
На одном из московских вокзалов билеты продают N касс. Каждая касса работает без перерыва определенный
промежуток времени по фиксированному расписанию (одному и тому же каждый день). Требуется определить, на
протяжении какого времени в течение суток работают все кассы одновременно.

Входные данные
Во входном файле INPUT.TXT сначала располагается одно целое число N (0 < N ≤ 1000). В каждой из следующих N
строк через пробел расположены 4 целых числа, первые два из которых обозначают время открытия кассы в часах и
минутах (часы — целое число от 0 до 23, минуты — целое число от 0 до 59), остальные два — время закрытия в том же
формате. Числа разделены пробелами.
Время открытия означает, что в соответствующую ему минуту касса уже работает, а время закрытия — что в
соответствующую минуту касса уже не работает. Например, касса, открытая с 10 ч 30 мин до 18 ч 30 мин, ежесуточно
работает 480 минут.
Если времена открытия и закрытия совпадают, то это означает, что касса работает круглосуточно. Если первое время
больше второго, то это означает, что касса начинает работу до полуночи, а заканчивает — на следующий день.

https://acmp.ru/index.asp?main=alltasks 143/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT требуется вывести одно число — суммарное время за сутки (в минутах), на
протяжении которого работают все N касс.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 120
1 0 23 0
1
12 0 12 0
22 0 2 0
2 0
2 9 30 14 0
14 15 21 0
2 1
3 14 00 18 00
10 00 14 01

Задача №267
Ксерокопии
(Время: 0,2 сек. Память: 16 Мб Сложность: 38%)
Секретарша Ирочка сегодня опоздала на работу и ей срочно нужно успеть к обеду сделать N копий одного документа.
В ее распоряжении имеются два ксерокса, один из которых копирует лист за х секунд, а другой – за y секунд. (Разрешается
использовать как один ксерокс, так и оба одновременно. Можно копировать не только с оригинала, но и с копии.) Помогите
ей выяснить, какое минимальное время для этого потребуется.

Входные данные
Во входном файле INPUT.TXT записаны три натуральных числа N, x и y, разделенные пробелом (1 ≤ N ≤ 2∙108, 1 ≤ x, y
≤ 10).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – минимальное время в секундах, необходимое для получения N
копий.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 4 1 1 3
2 5 1 2 4

Задача №268
Почти палиндром
(Время: 1 сек. Память: 16 Мб Сложность: 40%)
Слово называется палиндромом, если его первая буква совпадает с последней, вторая – с предпоследней и т.д.
Например: "abba", "madam", "x".
Для заданного числа K слово называется почти палиндромом, если в нем можно изменить не более K любых букв так,
чтобы получился палиндром. Например, при K = 2 слова "reactor", "kolobok", "madam" являются почти палиндромами
(подчеркнуты буквы, заменой которых можно получить палиндром).
Подсловом данного слова являются все слова, получающиеся путем вычеркивания из данного нескольких (возможно,
одной или нуля) первых букв и нескольких последних. Например, подсловами слова "cat" являются слова "c", "a", "t", "ca",
"at" и само слово "cat" (а "ct" подсловом слова "cat" не является).
Требуется для данного числа K определить, сколько подслов данного слова S являются почти палиндромами.

https://acmp.ru/index.asp?main=alltasks 144/591
2/29/2020 Все задачи сайта

Входные данные
В первой строке входного файла INPUT.TXT вводятся два натуральных числа: N (1 ≤ N ≤ 5 000) – длина слова и K (0 ≤
K ≤ N). Во второй строке записано слово S, состоящее из N строчных английских букв.

Выходные данные
В выходной файл OUTPUT.TXT требуется вывести одно число – количество подслов слова S, являющихся почти
палиндромами (для данного K).

Примеры
№ INPUT.TXT OUTPUT.TXT
5 1 12
1
abcde
3 3 6
2
aaa

Задача №269
Тормозной механизм
(Время: 1 сек. Память: 16 Мб Сложность: 40%)
Исследовательская лаборатория одной известной автомобильной компании разработала специальный механизм,
позволяющий повысить эффективность тормозов путем равномерной нагрузки деталей, используемых в тормозах.
Одним из основных компонентов механизма являются 2 прокладки, которые в процессе взаимодействия
накладываются друг на друга. Каждая прокладка длины n разделена на n разделов, каждый из которых имеет высоту h или
2h. Таким образом, прокладки имеют зубчатую форму без закруглений.

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

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

Входные данные
Входной файл INPUT.TXT содержит 2 строки с описанием конфигурации 2х прокладок. Каждая конфигурация
определяется последовательностью цифр 1 и 2, соответствующих высоте каждого зубца прокладки. Каждая из строк не
пуста и имеет длину, не превышающую 100.

Выходные данные
В выходной файл OUTPUT.TXT требуется вывести наименьшую длину конструкции из заданных прокладок.

Примеры
№ INPUT.TXT OUTPUT.TXT
2112112112 10
1
2212112
https://acmp.ru/index.asp?main=alltasks 145/591
2/29/2020 Все задачи сайта
2 12121212 8
21212121
2211221122 15
3
21212

Задача №270
Java vs C++
(Время: 1 сек. Память: 16 Мб Сложность: 34%)
Сторонники языков Java и C++ часто спорят о том, какой язык лучше для решения олимпиадных задач. Одни говорят,
что в Java есть масса полезных библиотек для работы со строками, хорошо реализованы механизмы чтения и вывода
данных, а так же радует встроенные возможности для реализации длинной арифметики. С другой стороны, С++ является
классическим языком, скорость выполнения программ благодаря существующим компиляторам (например, Intel Compiler
10.0) гораздо выше, чем у Java.
Но сейчас нас интересует лишь небольшие отличия, а именно соглашения, которыми пользуются программисты при
описании имен переменных в Java и C++. Известно, что для понимания значений переменных часто используют
английские слова или даже целые предложения, описывающие суть переменных, содержащих те или иные значения.
Приведем ниже правила описания переменных, которыми руководствуются программисты, реализующие программы на
Java и C++.
В языке Java принято первое слово, входящее в название переменной записывать с маленькой английской буквы,
следующее слово идет с большой буквы (только первая буква слова большая), слова не имеют разделителей и состоят
только из английских букв. Например, правильные записи переменных в Java могут выглядеть следующим образом:
javaIdentifier, longAndMnemonicIdentifier, name, nEERC.
В языке C++ для описания переменных используются только маленькие английские символы и символ «_», который
отделяет непустые слова друг от друга. Примеры: java_identifier, long_and_mnemonic_identifier, name, n_e_e_r_c.
Вам требуется написать программу, которая преобразует переменную, записанную на одном языке в формат другого
языка.

Входные данные
Во входном файле INPUT.TXT задано наименование переменной длиной от 1 до 100 символов, в котором могут
встречаться только заглавные и строчные буквы английского алфавита, а также символ подчёркивания.

Выходные данные
В выходной файл OUTPUT.TXT требуется вывести аналог имени переменной в другом языке. Т.е. если переменная
представлена в формате Java, то следует перевести в формат C++ и наоборот. В том случае, когда имя переменной не
соответствует ни одному из вышеописанных языков, следует вывести «Error!»

Примеры
№ INPUT.TXT OUTPUT.TXT
1 long_and_mnemonic_identifier longAndMnemonicIdentifier
2 anotherExample another_example
3 i i
4 bad_Style Error!

Задача №271
Числа Фибоначчи - 2
(Время: 1 сек. Память: 16 Мб Сложность: 20%)
Числа Фибоначчи строятся следующим образом: 1, 1, 2, 3, 5, …. В этой последовательности, начиная с третьего числа,
каждый следующий член равен сумме двух предыдущих. Получаем, что, например, шестое число равно 8, а десятое - 55.
Требуется написать программу, которая определяет, является ли заданное число числом Фибоначчи.

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

https://acmp.ru/index.asp?main=alltasks 146/591
2/29/2020 Все задачи сайта

Входной текстовый файл INPUT.TXT содержит одно натуральное число в диапазоне от 2 до 1200000000.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать в первой строке 1, если заданное число является числом Фибоначчи,
и 0, иначе. В первом случае во вторую строку требуется вывести его порядковый номер.

Примеры
№ INPUT.TXT OUTPUT.TXT
8 1
1
6
2 10 0

Задача №272
Сумма максимума и минимума
(Время: 1 сек. Память: 32 Мб Сложность: 26%)
Задана последовательность целых чисел. Числа нумеруются по порядку следования, начиная с единицы.
Требуется написать программу, которая найдет сумму максимума из чисел с четными номерами и минимума из чисел
с нечетными номерами – max{a2, a4, …}+min{a1, a3, …}.

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

Входной текстовый файл INPUT.TXT содержит в единственной строке последовательность от 2 до 2×105 целых чисел,
которые по модулю не превышают 10000.

Выходные данные
Выходной текстовый файл OUTPUT.TXT должен содержать одно целое число - сумму максимума из чисел с четными
номерами и минимума из чисел с нечетными номерами.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 2 3
2 1 -2 3 -4 5 -1

Задача №273
Вычеркивание
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Задано натуральное число N. Требуется написать программу, вычисляющую количество различных трехзначных чисел
получающихся из N вычеркиванием цифр из его десятичной записи.

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

Входной текстовый файл INPUT.TXT содержит одно натуральное число N (1 ≤ N ≤ 10100).

Выходные данные
Выходной текстовый файл OUTPUT.TXT должен содержать одно целое число - найденное количество трехзначных
чисел.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 12 0

https://acmp.ru/index.asp?main=alltasks 147/591
2/29/2020 Все задачи сайта
2 111111111110011111111 4

Задача №274
Дружные числа
(Время: 1 сек. Память: 16 Мб Сложность: 25%)
Будем называть два числа дружными, если они состоят из одних и тех же цифр. Например, числа 1132 и 32321
являются дружными, а 12 и 123 – нет (в первом числе нет цифры 3). Требуется написать программу, которая определит,
являются ли два заданных числа дружными.

Входные данные
Входной текстовый файл INPUT.TXT содержит в первой строке натуральное число K – количество тестов. Количество
тестов не превышает 10. В следующих K строках содержатся по два целых числа A и B, разделенные одним пробелом (0 <
A < 109, 0 < B < 109).

Выходные данные
Выходной текстовый файл OUTPUT.TXT должен содержать K строк. Для каждого теста в отдельной строке надо
выдать сообщение “YES”, если A и B являются дружными, или “NO”, если не являются. В сообщениях кавычки не
печатать.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 YES
1
1132 32321
2 NO
2 12 123 YES
11 111

Задача №275
Делимость на 7
(Время: 1 сек. Память: 16 Мб Сложность: 42%)
Требуется определить делимость на 7 ряда целых чисел, записанных в двоичной системе счисления.

Входные данные
В первой строке входного файла INPUT.TXT содержится N – количество чисел (N < 50). В следующих N строках
содержатся двоичные числа (по одному в каждой строке). Каждое двоичное число состоит не более чем из 1000 цифр.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать N строк. Для каждого теста в отдельной строке надо выдать
сообщение “Yes”, если соответствующее число кратно 7 или “No” в противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 Yes
1110 No
1
1010101 Yes
111111111111111111111111111
1 No
2
11

Задача №276
Разбиение на части
https://acmp.ru/index.asp?main=alltasks 148/591
2/29/2020 Все задачи сайта

(Время: 1 сек. Память: 16 Мб Сложность: 21%)


Необходимо представить целое число N в виде суммы M примерно равных целых чисел. Будем считать, что числа
примерно равны, если они отличаются друг от друга не более чем на единицу.

Входные данные
Во входном файле INPUT.TXT записаны два натуральных числа N и M через пробел, каждое из которых не
превосходит 30000.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать M примерно равных целых чисел, сумма которых должна быть равна
N. Все числа следует вывести в одной строке в порядке неубывания через пробел.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 13 4 3 3 3 4
2 72 8 9 9 9 9 9 9 9 9

Задача №277
Школьная алгебра
(Время: 1 сек. Память: 16 Мб Сложность: 27%)
Трёхчлен a + bx + сy от двух переменных x и y однозначно определяется коэффициентами a, b и c. Написать
программу, которая по заданным a, b и c выводит соответствующий трёхчлен, записанный с использованием
алгебраических соглашений:

коэффициент при члене, содержащем переменную, опускается, если его модуль равен единице;
член, коэффициент при котором равен нулю, опускается (кроме случая, когда все коэффициенты равны нулю, тогда
трехчлен состоит из одной цифры 0);
знак "+" опускается, если он предшествует отрицательному коэффициенту;
знак "+" опускается, если он стоит в начале выражения (так называемый унарный плюс);
знак умножения между коэффициентом и переменной опускается.

При этом запрещено менять местами члены.

Входные данные
Во входном файле INPUT.TXT через пробел записаны целые коэффициенты a, b и с, каждое из которых не
превосходит 30000 по абсолютной величине.

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

Примеры
№ INPUT.TXT OUTPUT.TXT
1 0 2 -1 2x-y
2 3 0 -2 3-2y

Задача №278
Вычислительная биология
(Время: 2 сек. Память: 16 Мб Сложность: 28%)
В современной биологии ученым часто приходится иметь дело с последовательностями ДНК. Эти последовательности
зачастую являются очень длинными, и их ручная обработка требует большого количества времени и сил. Поэтому
возникает идея автоматизировать этот процесс.

https://acmp.ru/index.asp?main=alltasks 149/591
2/29/2020 Все задачи сайта

Для этого можно применять компьютерные методы обработки данных, например, весьма полезными оказываются
алгоритмы на строках. В этой задаче последовательность ДНК будет представляться в виде непустой строки, все символы
которой входят в множество {A, G, С, T}.
Пусть даны две последовательности ДНК: s = s1s2 … sn и t = t1t2 … tm. Будем говорить, что t может получится в
результате эволюции из s, если s является подпоследовательностью t, то есть существует такая последовательность
индексов 1 ≤ i1 < i2 < … < in ≤ m, что s1=ti1, s2=ti2, … sn=tin. Необходимо выяснить, может ли последовательность t
получится в результате эволюции из s.

Входные данные
Первая строка входного файла INPUT.TXT содержит последовательность s, вторая — последовательность t. Размер
входного файла не превосходит 256 килобайт.

Выходные данные
В выходной файл OUTPUT.TXT выведите слово YES, если последовательность t могла получиться в результате
эволюции из s, и слово NO — иначе.

Пример
№ INPUT.TXT OUTPUT.TXT
GTA YES
1
AGCTA
AAAG NO
2
GAAAAAT

Задача №279
Скобочки - 2
(Время: 1 сек. Память: 16 Мб Сложность: 37%)
Напомним, что называется правильной скобочной последовательностью:

пустая строка является правильной скобочной последовательностью;


если строка а — правильная скобочная последовательность, то строки (а), [а] — тоже правильные скобочные
последовательности;
если строки а и b — правильные скобочные последовательности, то строка ab — тоже правильная скобочная
последовательность.

Задана строка S, состоящая из квадратных и круглых скобок. Разрешается заменять квадратную открывающую скобку
([) на круглую открывающую (() и наоборот, а также квадратную закрывающую скобку (]) на круглую закрывающую ()) и
наоборот.
За одно действие разрешается изменить ровно один символ строки. Необходимо за минимальное число действий
преобразовать S в правильную скобочную последовательность.

Входные данные
Входной файл INPUT.TXT содержит строку S. Ее длина не превосходит 100 000 символов.

Выходные данные
В выходной файл OUTPUT.TXT выведите искомое минимальное число действий или -1, если преобразовать S в
правильную скобочную последовательность невозможно.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 (())[] 0
2 [(]) 2
3 ((]]] -1

https://acmp.ru/index.asp?main=alltasks 150/591
2/29/2020 Все задачи сайта

Задача №280
Количество делителей - 2
(Время: 1 сек. Память: 16 Мб Сложность: 51%)
Пусть х — натуральное число. Назовем у его делителем, если 1 ≤ у ≤ х и остаток от деления х на у равен нулю.
Задано число х. Найдите количество его делителей, делящихся на каждое из простых чисел, на которое делится х.

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

Входной файл INPUT.TXT содержит целое число x (1 ≤ х ≤ 1018). Все простые делители числа х не превосходят
тысячу.

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 12 2
2 239 1

Задача №281
Игра с монеткой
(Время: 1 сек. Память: 16 Мб Сложность: 39%)
Петя играет в интересную игру. Для этой игры необходима монетка. Петя подбрасывает ее n раз и считает, сколько раз
выпадает «решка». Если решка выпадает хотя бы m раз, то Петя считает, что он выиграл игру.
Однажды Петя задумался, какова вероятность того, что он выиграет игру. Для этого он хочет найти количество
последовательностей результатов подбрасывания монетки, содержащих ровно n подбрасываний, при которых «решка»
выпала хотя бы m раз.
Помогите Пете — найдите это число, считая, что при каждом броске монетка может выпасть либо «орлом», либо
«решкой».

Входные данные
Входной файл INPUT.TXT содержит два целых числа: n и m (1 ≤ n ≤ 20, 0 ≤ m ≤ n).

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 0 4
2 3 2 4

Задача №282
Прямоугольники
(Время: 1 сек. Память: 16 Мб Сложность: 32%)
Найдите количество невырожденных прямоугольников со сторонами, параллельными осям координат, вершины
которых лежат в точках с целыми координатами внутри или на границе прямоугольника, противоположные углы которого
находятся в точках (0, 0) и (W, Н).

Входные данные
https://acmp.ru/index.asp?main=alltasks 151/591
2/29/2020 Все задачи сайта

Входной файл INPUT.TXT содержит два натуральных числа W и Н, не превосходящих 1000.

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1 1
2 2 1 3
3 2 2 9

Задача №283
Рунные слова
(Время: 1 сек. Память: 16 Мб Сложность: 25%)
Руны — это древние магические знаки, которые наши предки использовали как буквы. Говорят, что рунные знаки
обладают магическими свойствами, а при сложении рун в слова их магическая сила многократно возрастает. Если кузнец
изготовит доспехи и начертит там определенные руны в определенном порядке, то доспехи будут наделены необычайными
магическими силами.
Для того, чтобы стать обладателем таких доспехов достаточно просто принести кузнецу начертания этих рунных
знаков. А вот, чтобы стать обладателем рунного знака приходилось немало потрудиться. Воины добывали начертания рун
других языков и наречий в боях или получали их в качестве наград в благодарность за оказанные услуги.
Но так или иначе и в этом деле развелись жулики. По подозрениям ученых кузнец Игнатус Мошеникус изготавливал
благородным воинам фальшивые рунные слова. Из древних преданий ученым стало достоверно известно, что каждая руна
записывается из двух, трех или четырех английских букв. Причем первая буква рунного слова всегда записывается как
заглавная, а все остальные являются маленькими. Ученые перевели несколько, выкованных этим кузнецом, рунных слов на
английский язык и теперь нуждаются в Вашей помощи. Проверьте, является ли приведенное слово рунным.

Входные данные
В единственной строке входного файла INPUT.TXT содержится слово. Оно представляет собой непустую строку,
длиной не более 100000 символов, содержащую только большие и маленькие буквы английского алфавита.

Выходные данные
В выходной файл OUTPUT.TXT выведите «Yes», если слово является рунным и «No» в противном случае.

Пример
№ INPUT.TXT OUTPUT.TXT
1 IoIsTheBest Yes
2 IoItIsWaste No

Задача №284
Подмассив массива
(Время: 1 сек. Память: 16 Мб Сложность: 15%)
Пусть задан массив целых чисел а1, а2, ..., аn. Назовем его подмассивом f(i,j) массив, составленный из чисел массива
аi, ai+1,..., aj-1, aj. Напишите программу, которая будет выводить подмассивы массива a.

Входные данные
Первая строка входного файла INPUT.TXT содержит число n (1 ≤ n ≤ 1000) - количество элементов в массиве а. Во
второй строке содержатся числа a1, a2, … , аn разделенные пробелом. Все аi находятся в диапазоне от -231 до 231 - 1. В
третьей строке находится m (1 ≤ m ≤ 100) — количество подмассивов, которые необходимо вывести. Следующие m строк
содержат пары чисел ik, jk (1 ≤ ik ≤ jk ≤ n).
https://acmp.ru/index.asp?main=alltasks 152/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT для каждой пары (ik,jk) в отдельной строке выведите подмассив f(ik,jk).

Пример
№ INPUT.TXT OUTPUT.TXT
6 1
1 2 3 4 5 6 2 3 4 5 6
5 3 4
1 1 5 6
1
2 6 2 3 4
3 4
5 6
2 4

Задача №285
Костер
(Время: 1 сек. Память: 16 Мб Сложность: 24%)
Во время военного похода на морского пехотинца Джо было возложено ответственное задание – развести костёр и
поддерживать в нём огонь ровно m минут. Для этого у Джо есть спички и n поленьев, причём Джо известно точное время
сгорания каждого полена.
Джо разжигает огонь в момент времени t = 0 и сразу бросает в него одно или несколько поленьев. Затем он должен
подбрасывать в огонь новые поленья, не позволяя костру угаснуть (т.е. если последнее полено в костре догорает в момент
времени t, то новое полено может быть брошено в огонь не позднее t – 1). Поленья, брошенные в огонь, загораются
мгновенно. Одновременно Джо может бросить в огонь любое количество поленьев. Джо должен бросить в огонь все n
поленьев.
Помогите Джо определить, сможет ли он подбрасывать поленья в огонь таким образом, чтобы костер горел ровно m
минут.

Входные данные
Первая строка входного файла INPUT.TXT содержит целые числа n и m (1 ≤ n ≤ 100, 1 ≤ m ≤ 1000) – количество
поленьев и время, в течение которого Джо должен поддерживать огонь в костре. Вторая строка входного файла содержит n
целых чисел a1, a2, ..., an, где ai (2 ≤ ai ≤ 1000) – время сгорания i-ого полена в минутах.

Выходные данные
В выходной файл OUTPUT.TXT выведите строку «yes», если Джо сможет поддерживать огонь в костре ровно m
минут, и строку «no» в противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 7 yes
1
2 3 5
2 5 no
2
3 9
4 10 no
3
3 3 3 3

Задача №286
Больше-меньше - 2
(Время: 1 сек. Память: 16 Мб Сложность: 43%)
Программист Билл занимается разработкой программного обеспечения для новейшего робота-исследователя, которого
учёные планируют отправить на Марс с целью поиска там следов разумной жизни. Модули, которые отвечают за
передвижение робота и сбор проб грунта, Билл уже скачал из Интернета. Оставалось лишь научить робота отличать
https://acmp.ru/index.asp?main=alltasks 153/591
2/29/2020 Все задачи сайта

разумные формы жизни от неразумных. Для этого Боб несколько месяцев посещал программистские форумы, и, наконец,
нашёл подходящий модуль. Теперь, чтобы определить, является ли тот или иной объект представителем внеземной расы,
роботу достаточно сравнить два вещественных числа.
Однако за несколько часов до запуска корабля на Марс обнаружилось, что робот неправильно сравнивает
вещественные числа! Чтобы исправить эту ошибку, учёные обратились за помощью к Вам.

Входные данные
Входной файл INPUT.TXT состоит из двух строк, в каждой из которых записано по одному вещественному числу без
ведущих нулей. Целая и дробная части отделяются точкой, которая может быть опущена, если число целое. Каждое из
чисел содержит не более 10000 цифр. Если число равно нулю, то знака минус в его записи нет.

Выходные данные
В выходной файл OUTPUT.TXT выведите один символ ‘<’, если первое число меньше второго, ‘>’, если больше, и ‘=’,
если числа равны.

Примеры
№ INPUT.TXT OUTPUT.TXT
2.39 <
1
3.61
123 >
2
12.3
12345678 =
3
12345678.0
-1.0 <
4
1.0

Задача №287
Профессор
(Время: 1 сек. Память: 16 Мб Сложность: 26%)
В одном очень известном университете один очень известный профессор очень быстро произносил свои лекции, так,
что ничего невозможно было разобрать. Но недавно студент Вилли решил провести исследование по изучению словарного
запаса профессора. С этой целью он даже посетил одну лекцию и записал всё сказанное на ней на диктофон. Затем,
прокручивая дома запись с десятикратным замедлением, Вилли смог записать всё, что сказал профессор.
Но вот незадача – профессор говорил так быстро, что, даже прослушивая замедленную запись, нельзя было точно
сказать, где он делал паузы между словами. Таким образом, у Вилли есть некоторый текст, состоящий из n маленьких
английских букв – лекция, которая была прочитана профессором. Теперь Вилли хочет знать, какое количество различных
слов длины m мог использовать в своей лекции профессор.

Входные данные
Первая строка входного файла INPUT.TXT содержит два числа n и m (1 ≤ m ≤ n ≤ 100) – длина лекции и длина слова.
Вторая строка содержит n английских символов - текст лекции профессора.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – количество слов длины m, которые профессор мог
использовать в своей лекции.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 1 3
1
abc
10 3 6
2
bbaabbbabb

https://acmp.ru/index.asp?main=alltasks 154/591
2/29/2020 Все задачи сайта

Задача №288
Комментарии
(Время: 1 сек. Память: 16 Мб Сложность: 42%)
Программист Билл недавно узнал, что, чем больше комментариев содержит исходный текст, тем он лучше. Теперь он
хочет проверить, насколько хороши его собственные программы, написанные на языке Pascal. Но поскольку самому
считать комментарии очень утомительно, Билл попросил Вас сделать эту работу за него.
Исходный текст может содержать комментарии трёх типов:

1. // ...
2. { ... }
3. (* ... *)

Комментарий первого типа начинается составным символом // и продолжается до конца строки. Комментарий второго
типа начинается символом { и заканчивается символом }. Он может размещаться в нескольких строках. Комментарий
третьего типа начинается составным символом (* и заканчивается составным символом *). Он также может размещаться в
нескольких строках.
Комментарии не могут быть вложены друг в друга, так что запись вида {…//…(*…*)…} является одним
комментарием второго типа. Комментарии не могут размещаться внутри символьных строк, так что запись ‘…(**)…{}…’
не содержит ни одного комментария.

Входные данные
Во входном файле INPUT.TXT записан исходный текст программы на языке Pascal. Размер текста не превосходит 16
Кб.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – количество комментариев в исходном тексте программы.

Примеры
№ INPUT.TXT OUTPUT.TXT
{ my first program } 1
begin
1
writeln('hello world');
end.
const comments = '{}(**)//'; 0
begin
2
writeln(comments);
end.
// comment 2
begin
3 writeln('{ string }');
{ while (true) do; }
end.

Задача №289
Делители
(Время: 1 сек. Память: 16 Мб Сложность: 76%)
По заданному количеству делителей числа требуется найти само это число.

Входные данные
Во входном файле INPUT.TXT записано количество делителей D некоторого натурального числа N (1 ≤ D ≤ 5000).

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

https://acmp.ru/index.asp?main=alltasks 155/591
2/29/2020 Все задачи сайта

В выходной файл OUTPUT.TXT запишите число N. Если решений несколько, выведите наименьшее из них. Если
решения нет, или наименьшее из решений превосходит 1015+1, запишите в файл число 0.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 4
2 4 6
3 12 60
4 60 5040
5 4911 0

Задача №290
База террористов
(Время: 1 сек. Память: 16 Мб Сложность: 32%)
Спецслужбы получили информацию о том, что в труднодоступной части Муравийской пустыни расположена хорошо
замаскированная база террористов. В руки спецслужб попал и план этой базы, которая с большой высоты выглядит как
группа скальных обломков, весьма часто встречающихся среди Муравийских песков. Президент отдал приказ уничтожить
базу крылатыми ракетами. Ваша задача - по карте пустыни, полученной со спутника и плану базы определить количество
возможных положений базы террористов. Помните, что террористы могли привезти на территорию базы камни!

Входные данные
В первой cтроке файла INPUT.TXT записаны числа Nb и Mb (1 ≤ Nb, Mb ≤ 20). В следующих Nb строках записан план
базы. Каждая из этих строк содержит по Mb символов "#" (ASCII 35 ) или "." (ASCII 46). Символ "#" обозначает фрагмент
базы, а символ "." - песок. В следующей строке записаны числа Nd и Md (1 ≤ Nd, Md ≤ 100). И остаток файла содержит
карту участка пустыни на котором, предположительно, находится база террористов - Nd строк по Md символов "#" или "." в
каждой.

Выходные данные
Запишите в файл OUTPUT.TXT количество возможных положений базы террористов.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 2 4
#.
##
1 3 5
#.#.#
#####
.###.
1 3 6
#..
3 6
2
##..##
.#.#.#
#.#...
3 3 3 4
#..
#.#
#..
5 36
#......#........................#...
#.#....#.#...#.........#............
#......#.#...##....#...##......###..

https://acmp.ru/index.asp?main=alltasks 156/591
2/29/2020 Все задачи сайта
.......#.....#...#.#...##........#.#
...................#.....#.......#..

Задача №291
Словарь
(Время: 1 сек. Память: 16 Мб Сложность: 31%)
Дан некоторый набор букв и словарь. Ваша задача - подсчитать, сколько различных слов из словаря можно составить
из этих букв.

Входные данные
В первой строке файла INPUT.TXT записано число N - количество слов в словаре (0 ≤ N ≤ 1000). В следующих N
строках файла записано по одному слову из словаря. Слова содержат от 1 до 10 маленьких английских букв. Все слова в
словаре различны. В последней строке файла записан набор букв (от 1 до 100 букв).

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

Примеры
№ INPUT.TXT OUTPUT.TXT
7 0
ant
bee
cat
1 dog
ewe
fly
gnu
bew
7 3
bee
fly
cat
2 dog
ant
ewe
gnu
tancugd

Задача №292
Простой цифровой корень
(Время: 1 сек. Память: 16 Мб Сложность: 31%)
Определим простой цифровой корень (ПЦК) натурального числа N следующим образом. Если N - простое число, то
ПЦК(N) = N. Если число однозначное, но не простое (то есть 1, 4, 6, 8 или 9), то ПЦК(N) = 0. В остальных случаях
ПЦК(N) = ПЦК(S(N)), где S(N) - сумма цифр числа N.

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

Во входном файле INPUT.TXT записано число N (1 ≤ N ≤ 231-1).

Выходные данные
Запишите в файл OUTPUT.TXT простой цифровой корень числа N.

Примеры

https://acmp.ru/index.asp?main=alltasks 157/591
2/29/2020 Все задачи сайта

№ INPUT.TXT OUTPUT.TXT
1 1 0
2 3 3
3 128 11

Задача №293
Налоги
(Время: 1 сек. Память: 16 Мб Сложность: 20%)
В некотором государстве действует N фирм, конкурирующих между собой. У каждой фирмы есть некоторая прибыль в
год, равная V[i] американских рублей. У царя есть любимые фирмы, а есть нелюбимые. Соответственно, налог для всех
фирм разный и назначается царем в индивидуальном порядке. Налог на i-ую фирму равен p[i] процентов.
Собиратели статистики решили посчитать, с какой фирмы в государственную казну идет наибольший доход (в казну
идут все налоги). К сожалению, они не учили в детстве ни математику, ни информатику (так что учитесь, дети!), и их
задача резко осложняется.
Помогите им в этой нелегкой задаче.

Входные данные
Во входном файле INPUT.TXT сначала записано число N - число фирм (0 < N ≤ 100). Далее идет N целых
неотрицательных чисел, не превышающих 154 - доходы фирм, а затем еще N целых чисел от 0 до 100 - налоги фирм в
процентах.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число - номер фирмы, от которой государство получает наибольший
налог. Если таких фирм несколько, выведите фирму с наименьшим номером.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1
1 1
1
2 2
2 1 2
3 2
3 3
3 100 1 50
0 100 3

Задача №294
Болты и гайки
(Время: 1 сек. Память: 16 Мб Сложность: 17%)
Вновь созданная фирма купила заброшенные склады на окраине города. Новому заведующему складами поручили
произвести учёт в короткие сроки. Всё шло хорошо, пока случайно не рассыпали контейнеры с болтами и гайками на
каждом складе, после чего собрали их в общие (для болтов и гаек) контейнеры, потеряв при этом несколько деталей.
Помогите оценить нанесённый ущерб на каждом складе, приняв во внимание, что, помимо потерянных деталей, болт
(или гайка) считается непригодным, если он не имеет соответствующей гайки (или болта).

Входные данные
Во входном файле INPUT.TXT описано текущее положение на складе. В первой строке через пробел записаны три
целых числа: k1, l1, m1 – начальное число болтов (100 ≤ k1 ≤ 30000, k1 кратно 100), процент потерянных деталей (0 ≤ l1 ≤
100) и стоимость одного болта (1 ≤ m1 ≤ 100) соответственно. Во второй строке через пробел записаны также три целых
числа: k2, l2, m2 – начальное число гаек (100 ≤ k2 ≤ 30000, k2 кратно 100), процент потерянных деталей (0 ≤ l2 ≤ 100) и
стоимость одной гайки (1 ≤ m2 ≤ 100) соответственно.

https://acmp.ru/index.asp?main=alltasks 158/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной OUTPUT.TXT выведите одно целое число – размер ущерба.

Примеры
№ INPUT.TXT OUTPUT.TXT
1000 10 100 37000
1
1200 20 90
5000 15 23 53600
2
4000 17 22

Задача №295
Шифровка
(Время: 1 сек. Память: 16 Мб Сложность: 29%)
Разведкой был перехвачен ряд шифровок, которые передавал Джеймс Бонд. Известно, что каждое послание
зашифровано методом циклического сдвига. Суть которого в том, что каждая буква заменяется на букву, отстоящую в
алфавите от первой на определенном расстоянии. Это расстояние называется знаменателем шифра. Так, при знаменателе
шифра 2 буква D превратится в F, буква Q – в S, а Z – в B. Известно, что Бонд использует знаменатели от 0 до 25, и
составляет послания исключительно из заглавных букв английского алфавита. Знаменатели в шифровках постоянно
меняются, так что расшифровать содержимое послания будет не просто. После тщательного анализа удалось примерно
определить предмет посланий. Теперь для каждого послания точно известно одно из входящих туда слов.

Входные данные
В первой строке входного файла INPUT.TXT содержится строка с перехваченным посланием, а во второй строке –
слово, которое обязательно присутствует в этом послании. Обе строки состоят только из заглавных английских букв и
содержат от 1 до 40 символов.

Выходные данные
В выходной файл OUTPUT.TXT выведите расшифрованный текст, либо сообщение «IMPOSSIBLE», если разгадать
шифровку невозможно. В тех случаях, когда расшифровка возможна с различными знаменателями, то следует вывести
вариант с наименьшим таким значением.

Примеры
№ INPUT.TXT OUTPUT.TXT
HELLOAMERICA HELLOAMERICA
1
AMERICA
KHOORDPHULFD HELLOAMERICA
2
HELLOAMERICA
KHOORDPHULFD IMPOSSIBLE
3
KHOORDPHULFC

Задача №296
Лиса Алиса и кот Базилио
(Время: 1 сек. Память: 16 Мб Сложность: 22%)
Лиса Алиса и кот Базилио вырастили денежное дерево. И выросли на нем трехрублевые и пятирублевые золотые
монеты. Лиса Алиса себе взяла трехрублевые монеты, а коту Базилио отдала пятирублевые монеты. Посетовав на свою
скромность, она предложила впредь рассчитываться за покупки вместе, деньги давать без сдачи и минимальным числом
монет. Известно, что они сделали покупку стоимостью N рублей, при этом они рассчитались без сдачи.
Вам следует написать программу, которая определяет: сколько монет внес кот Базилио, и сколько монет внесла лиса
Алиса.

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

https://acmp.ru/index.asp?main=alltasks 159/591
2/29/2020 Все задачи сайта

Во входном файле INPUT.TXT записано одно натуральное число N – стоимость покупки в рублях (7 < N < 1000).

Выходные данные
В выходной OUTPUT.TXT выведите два целых числа через пробел: число монет, которые отдал кот Базилио и число
монет, которые отдала лиса Алиса.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 8 1 1
2 11 1 2
3 15 3 0

Задача №297
Кругляши
(Время: 1 сек. Память: 16 Мб Сложность: 16%)
Однажды в просторах рунета появился следующий ребус:
157892 = 3
203516 = 2
409578 = 4
236271 = ?

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

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

Во входном файле INPUT.TXT записано целое число N (0 ≤ N ≤ 10100).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – количество кругляшей в числе N.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 157892 3
2 203516 2
3 409578 4
4 236271 1

Задача №298
Стрелок
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Стрелок стоит в центре стрельбища. На стрельбище несколько мишеней. Пули стрелка пробивают мишени насквозь,
не теряя скорости, и могут поразить все мишени, стоящие на одной линии.
Будем считать, что стрелок стоит в центре начала координат. Известны координаты всех мишеней (для простоты будем
считать их геометрические размеры пренебрежимо малыми). Определите минимальное число выстрелов, необходимых
стрелку для поражения всех мишеней.

Входные данные
Первая строка входного файла INPUT.TXT содержит натуральное число N – количество мишеней (N ≤ 20). Далее идет
N строк с информацией о координатах каждой мишени, при этом в каждой строке указывается два целых числа через
пробел X и Y (-10 ≤ X, Y ≤ 10).
https://acmp.ru/index.asp?main=alltasks 160/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число – наименьшее количество выстрелов, необходимых для
поражения всех мишеней.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 4
2 2
1 -2 2
-2 -2
2 -2
6 5
2 2
-2 2
2 -2 -2
2 -2
1 1
-1 3

Задача №299
Волейбол
(Время: 1 сек. Память: 16 Мб Сложность: 56%)
Партия в волейболе выигрывается командой, которая первой набирает 25 очков с преимуществом минимум в два очка.
В случае равного счета 24-24, игра продолжается до достижения преимущества в 2 очка (26-24; 27-25).
Две сыгранные партии, закончившиеся с одинаковым счетом, будем считать разными, если строки, в которых выписан
порядок набора очков командами, не равны.
Комитет по проведению соревнований по волейболу заинтересовался, количеством различных партий,
заканчивающихся счетом 25:23. Их оказалось 16123801841550.
Определить, сколько существует различных партий, заканчивающихся заданным счетом.

Входные данные
Во входном файле INPUT.TXT указан конечный счет в партии (то есть такой, при котором победа в партии отдаётся
одной из команд). Также известно, что ни одна из команд не набрала более 40 очков.

Выходные данные
В выходной файл OUTPUT.TXT выведите количество всевозможных партий, которые заканчиваются данным счетом.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 25:12 1251677700
2 20:25 1761039350070
3 25:23 16123801841550

Задача №300
Радар
(Время: 1 сек. Память: 16 Мб Сложность: 48%)
Радар подвергается атаке из четырех точек, являющихся вершинами квадрата, в центре которого и стоит радар. Радар
укомплектован специальным щитом, позволяющим блокировать удар, но щит может защищать радар только с одной из
четырех сторон, и поворот щита требует времени. Изначально щит направлен в сторону той вершины, откуда будет первая
атака. Известно время запуска и скорость ракет, ведущих атаку.
Требуется определить, сколько ракет удастся отбить.
https://acmp.ru/index.asp?main=alltasks 161/591
2/29/2020 Все задачи сайта

Входные данные
Первые четыре строки входного файла INPUT.TXT содержат время запуска в секундах Tx (0 ≤ Tx ≤ 1000) и скорость
полета в метрах в секунду Vx x-ой ракеты (0 < Vx ≤ 1000). Ракеты перечисляются по часовой стрелке Далее задано время в
секундах, необходимое для поворота щита на 90 градусов Tpov (0 < Tpov ≤ 1000) и половина диагонали квадрата D –
расстояние в метрах, предстоящее каждой из ракет (0 < D < 1000). Все числа – целые.

Выходные данные
В выходной файл OUTPUT.TXT выведите «ALIVE», если радар уцелеет при всех выстрелах, в противном случае
следует вывести число успешно отраженных ракет. Если несколько ракет подлетают к радару одновременно, и радар
может защититься от хотя бы одной из них, то он защищается от одной ракеты, и ее удар считается отраженным.

Пример
№ INPUT.TXT OUTPUT.TXT
0 10 ALIVE
5 10
1 10 10
15 10
5 100
0 10 1
10 10
2 5 10
15 10
5 100

Задача №301
Код
(Время: 1 сек. Память: 16 Мб Сложность: 36%)
В наши дни в космосе находятся сотни спутников, и все они обмениваются данными. При этом система распознавания
сигналов работает по схеме «Свой-Чужой». Один из спутников отправляет запрос другому спутнику в формате двух целых
чисел, а второй спутник отвечает первому так же двумя целыми числами. Первые два числа первого спутника
представляют собой сумму цифр и количество цифр тех двух чисел, которыми должен ответить второй спутник. При этом
в качестве ответа должны получиться числа, представляющие наибольшее и наименьшее возможные значения, которые
могут быть сформированы по описанному выше методу.
Вам предстоит написать программу, формирующую ответ для второго спутника по известным числам, полученным от
первого спутника.

Входные данные
Во входном файле INPUT.TXT записаны 2 натуральных числа S и K, представляющих сумму и количество цифр
соответственно (K ≤ 100). При этом гарантируется, что возможно составить хотя бы одно K-значное число, сумма цифр
которого равна S.

Выходные данные
В выходной файл OUTPUT.TXT выведите два числа – ответ второго спутника. При этом следует помнить, что все
числа не имеют лидирующих нулей.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 3 100 100
2 2 3 200 101
3 3 4 3000 1002

https://acmp.ru/index.asp?main=alltasks 162/591
2/29/2020 Все задачи сайта

Задача №302
Города
(Время: 1 сек. Память: 16 Мб Сложность: 55%)
Для исследования поверхности Марса ученым необходимо разработать систему оповещения, которая смогла бы
передавать информацию по цепному принципу между городами, которые планируется там построить.
При этом в каждом городе необходимо построить радиостанцию таким образом, чтобы была связь между всеми
городами. При этом все такие станции должны передавать сигнал друг другу на равном расстоянии R. Таким образом,
будет возможна передачи информации из одного города в другой только тогда, когда расстояние между ними не более R.
По заданным координатам городов, в целях экономии энергии радиостанций, Вам следует определить минимальное
значение R, при котором информация сможет быть доставлена из любого города во все остальные.

Входные данные
В первой строке входного файла INPUT.TXT сначала записано натуральное число N – количество городов (N ≤ 1000).
Далее идет N строк, содержащих вещественные координаты (Xi, Yi) соответствующего города. (-10000 ≤ Xi, Yi ≤ 10000).
Предполагается, что все города находятся на плоскости.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно вещественное число – наименьший радиус радиостанций. Число
следует вывести с двумя знаками после запятой, без лидирующих нулей, в формате, приведенном в примерах.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 2.24
0 0
1 2 0
0 2
2 3
3 2.83
2 0
2
0 2
4 2

Задача №303
Цифры
(Время: 1 сек. Память: 16 Мб Сложность: 27%)
Составить программу, удаляющую одну цифру из N-значного числа, такую, чтобы плюс-минус сумма была
наибольшей. Плюс-минус сумма – это сумма с чередованием цифр числа с разными знаками: для числа 764 это +7-6+4.
Если удалить цифру 7, то будет +6-4=2, если удалить цифру 6, то будет +7-4=3, если удалить цифру 4, то будет +7-6=1. При
этом видно, что максимум достигается при удалении средней цифры 6 и равен 3.

Входные данные
Во входном файле INPUT.TXT записано натуральное N-значное число (2 ≤ N ≤ 50).

Выходные данные
В выходной файл OUTPUT.TXT выведите значение наибольшей суммы.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 764 3
2 6274861 14

https://acmp.ru/index.asp?main=alltasks 163/591
2/29/2020 Все задачи сайта

Задача №304
Волейбол - 2
(Время: 1 сек. Память: 16 Мб Сложность: 68%)
Партия в волейболе, выигрывается командой, которая первой набирает 25 очков с преимуществом минимум в два
очка. В случае равного счета 24-24, игра продолжается до достижения преимущества в 2 очка (26-24; 27-25). Исключение
составляет лишь пятая партия (когда счет по партиям 2:2), в этом случае счет ведется по такому же принципу, но до 15
очков, а в случае счета 14:14 игра продолжается так же до достижения преимущества в 2 очка.
Две сыгранные партии, закончившиеся с одинаковым счетом, будем считать разными, если строки, в которые вписан
порядок набора очков командами, не равны.
Комитет по проведению соревнований по волейболу заинтересовало, сколько различных партий может быть,
заканчивающихся со счетом 25:23, оказывается 16123801841550, далее им стало интересно, сколько же существует
различных матчей в которых первая команда победила в 3 партиях со счетом 25:23 25:20 25:18, оказывается
10043105786927107686166271970998925000.
Определить, сколько существует различных матчей, заканчивающихся заданным счетом. Два матча закончившиеся
одинаковым количеством партий с одинаковым счетом, считаются различными, если есть различно сыгранные партии.

Входные данные
Во входном файле INPUT.TXT сначала записано число N - количество партий в матче. Далее следует N пар чисел,
описывающих счет в каждой партии. При этом результаты партий разделяются пробелом, а счет в каждой партии
отделяется двоеточием. Гарантируется, что счет в каждой партии соответствует возможному, согласно правилам
волейбола, и ни в какой партии, ни одна из команд не набирает более 40 очков.

Выходные данные
В выходной файл OUTPUT.TXT выведите количество различных матчей, которые могут оканчиваться данным счетом.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 25:23 25:20 25:18 10043105786927107686166271970998925000
2 4 25:23 20:25 26:24 25:18 323866095164273521651645790930981230216140667500000

Задача №305
Морской бой
(Время: 1 сек. Память: 16 Мб Сложность: 38%)
Участник игры в морской бой размещает на игровом поле свои корабли. По правилам этой разновидности игры
корабли могут быть только прямоугольниками любых размеров, не могут пересекаться и иметь общих граничных точек.
Количество уже размещённых кораблей равно K. Последний корабль он хочет сделать максимально большим.

Входные данные
В первой строке входного файла INPUT.TXT записаны три числа N, M и K – количество клеток по вертикали,
количество клеток по горизонтали и число уже выстроенных кораблей соответственно (1 ≤ N, M ≤ 100, 1 ≤ K ≤ 10).
Следующие K строк содержат координаты K размещённых кораблей – 4 числа в каждой строке. 1-е и 2-е число –
вертикальная и горизонтальная координаты левой верхней угловой клетки корабля, 3-е и 4-е число – вертикальная и
горизонтальная координаты правой нижней угловой клетки корабля. Клетки поля нумеруются сверху вниз (от 1 до N) и
слева направо (от 1 до M).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – количество клеток в последнем корабле.

Пример
№ INPUT.TXT OUTPUT.TXT
1 8 7 3 21

https://acmp.ru/index.asp?main=alltasks 164/591
2/29/2020 Все задачи сайта
1 1 2 2
3 5 3 7
4 2 4 3

Задача №306
Танец
(Время: 1 сек. Память: 16 Мб Сложность: 45%)
На городском празднике танцуют девушки в красных и синих юбках. Они двигаются цепочкой и выполняют сложный
рисунок танца. Из цепочки девушки выделяются по одной. Первая становится на левом краю сцены, вторая уходит в конец
исходной цепочки, третья – на левый край сцены (справа от первой), четвертая – в конец исходной цепочки и т.д., пока все
девушки не выстроятся на краю сцены.
Помогите постановщику танца определить, каким должно быть исходное расположение девушек, если на краю сцены,
они выстроены так, что их юбки чередуются по цвету (слева направо): синяя, красная, синяя, красная и т.д.

Входные данные
Во входном файле INPUT.TXT записано натуральное число N – количество танцующих девушек (N ≤ 1000).

Выходные данные
В выходной файл OUTPUT.TXT выведите строку, содержащую цепочку из N символов, состоящую из заглавных букв
B и R, соответствующих цветам юбок – синему и красному.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 BR
2 3 BBR
3 4 BBRR

Задача №307
Атлеты
(Время: 1 сек. Память: 16 Мб Сложность: 50%)
Художественная гимнастика – это вид спорта, где всё познаётся в сравнении, здесь нельзя, как в беге или плавании,
измерить результат спортсмена с точностью до сотой доли секунды. Поэтому на выступлениях оценки выступлениям дают
судьи. При выставлении оценок судьи ориентируются не только на текущее выступление, но, безусловно, сравнивают
текущее выступление с выступлениями, показанными ранее. Кроме того, учитывается сложность показанного упражнения
и рейтинг спортсмена.
Каждый выход спортсмена описывается двумя числами: номер спортсмена в рейтинге (наиболее профессиональные
спортсмены имеют наибольший номер), и номер исполненного упражнения (упражнения нумеруются, начиная с самых
простых). Судья сравнивает каждый выход спортсмена с каждым из выполненных ранее выходов. Если в результате
сравнения получается, что спортсмен с большим номером показал более простое упражнение, чем спортсмен с меньшим
номером, судья удивляется. Следует учитывать, что один выход может удивить судью несколько раз. Один спортсмен
может выполнить несколько выходов, так же, как и одно упражнение может быть показано несколькими спортсменами –
но такие выходы в сравнении судью не удивляют. Спортсмен не исполняет уже показанное упражнение повторно.
Требуется подсчитать, сколько раз за время выступлений будет удивлён судья.

Входные данные
Первая строка входного файла INPUT.TXT содержит количество спортсменов N (0 < N ≤ 250), количество упражнений
M (0 < M ≤ 250) и количество выходов P. Следующие P строк содержат по два числа, описывающие выход спортсмена –
номер спортсмена и номер упражнения.

Выходные данные
В выходной файл OUTPUT.TXT выведите, сколько раз был удивлен судья.

https://acmp.ru/index.asp?main=alltasks 165/591
2/29/2020 Все задачи сайта

Примеры
№ INPUT.TXT OUTPUT.TXT
3 3 4 3
3 1
1 1 2
1 3
3 2
2 2 2 0
2 1 1
2 2

Задача №308
Вода
(Время: 1 сек. Память: 16 Мб Сложность: 53%)
Имеется три ведра, емкости которых известны и не равны. Самое большое ведро полное, остальные пусты. Требуется
добиться, чтобы в самом большом ведре был заданный объем воды. За один шаг вода переливается из одного ведра в
другое до тех пор, пока либо не закончится вода в ведре-источнике, либо не наполнится доверху вода в ведре-получателе.
Школьник Василий, чтобы занять себя, пытается решать эту задачу с разными входными данными, но не всегда
находит решение. И даже если решение найдено, он хочет знать, является ли найденное решение оптимальным, а именно,
используется ли минимальное количество шагов. Требуется написать программу, которая поможет Василию проверить его
решение.

Входные данные
Во входном файле INPUT.TXT записаны 4 числа: емкости ведер B1, B2, B3 (1000 ≥ B1 > B2 > B3 > 0) и требуемое
количество воды T в первом ведре (B1 > T > 0).

Выходные данные
В выходной файл OUTPUT.TXT выведите либо минимальное количество переливаний, либо если задача не имеет
решения, то слово IMPOSSIBLE.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 10 8 4 4 3
2 10 8 4 5 IMPOSSIBLE

Задача №309
К-удивительные числа
(Время: 3 сек. Память: 16 Мб Сложность: 25%)
Переворотом числа X назовем число, в котором все цифры числа X стоят в обратном порядке. Например, переворотом
числа 6372 является число 2736, а числа 7800 - 87. Назовем K-удивительным такое число, которое в сумме со своим
переворотом дает число K.
Например, у числа 222 имеется всего два K-удивительных числа: 111 и 210, а у числа 1050 имеется девять K-
удивительных числа: 129, 228, 327, 426, 525, 624, 723, 822, 921.
Требуется написать программу, которая по заданному K определит количество K-удивительных чисел.

Входные данные
Входной файл INPUT.TXT содержит одно натуральное число K (1 ≤ K ≤ 106).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно число - количество K-удивительных чисел.

https://acmp.ru/index.asp?main=alltasks 166/591
2/29/2020 Все задачи сайта

Примеры
№ INPUT.TXT OUTPUT.TXT
1 222 2
2 1050 9

Задача №310
Рамка из клеток
(Время: 1 сек. Память: 16 Мб Сложность: 33%)
Прямоугольник состоит из X×Y квадратных клеток одинакового размера. Из него вырезан прямоугольник размером
(X-2)×(Y-2) так, что осталась рамка шириной в одну клетку. Определить, можно ли покрыть всю рамку плитками размером
A×1. Запас плиток неограничен, плитки не накладываются одна на другую и за пределы рамки не выходят.
Требуется написать программу, которая решает эту задачу.

Входные данные
Входной текстовый файл INPUT.TXT содержит в первой строке натуральное число K – количество тестов (1 ≤ K ≤ 10).
В следующих K строках записаны по три натуральных числа: X, Y - размеры рамки, А – размер плитки (3 ≤ X, Y ≤ 2×109, 1
≤ A ≤ 2×109). Числа разделены пробелами.

Выходные данные
Выходной текстовый файл OUTPUT.TXT должен содержать одну строку из K символов 0 или 1 (1 - если покрытие
существует, 0 - иначе).

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1
1
3 3 1
2 10
2 3 3 2
3 3 3

Задача №311
Сумма факториалов
(Время: 1 сек. Память: 16 Мб Сложность: 45%)
Факториалом натурального числа K называется произведение K!=1×2×3×…×K.
Требуется написать программу, которая по заданному числу N вычислит сумму 1!+2!+…+N! .

Входные данные
Входной файл INPUT.TXT содержит одно натуральное число N (N ≤ 200).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать все десятичные знаки искомой суммы.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1
2 2 3
3 3 9

https://acmp.ru/index.asp?main=alltasks 167/591
2/29/2020 Все задачи сайта

Задача №312
Арифметическая прогрессия
(Время: 1 сек. Память: 16 Мб Сложность: 15%)
Заданы первый и второй элементы арифметической прогрессии. Требуется написать программу, которая вычислит
элемент прогрессии по ее номеру.

Входные данные
Входной файл INPUT.TXT содержит три целых числа, разделенных пробелами – первый элемент прогрессии A1 (1 ≤
A1 ≤ 1000), второй элемент прогрессии A2 (1 ≤ A2 ≤ 1000), и номер требуемого элемента N (1 ≤ N ≤ 1000).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно целое число - N-й элемент арифметической прогрессии.

Пример
№ INPUT.TXT OUTPUT.TXT
1 1 5 3 9

Пояснение к примеру
Здесь речь идет о следующей последовательности чисел:
1, 5, 9, 13, 17, 21, …
В данной последовательности D=4, поэтому A1=1, A2=A1+D=5, A3=A1+2*D=9, и т.д. Поскольку нам нужно было
найти 3й элемент прогрессии, то ответом на задачу является число 9.

Задача №313
Ежеминутные автобусы
(Время: 2 сек. Память: 128 Мб Сложность: 30%)
На автобусную остановку каждую минуту подходит автобус одного из маршрутов. Диспетчерская служба собрала
данные за N минут – номера маршрутов каждого автобуса.
Требуется определить максимально возможное время ожидания для пассажира, желающего уехать определенным
маршрутом. Т.е. в данной последовательности номеров маршрутов нужно найти два самых удаленных числа, равных
между собой, между которыми нет равных им. Например, для последовательности 2, 11, 2, 2, 25, 11, 25, 11 максимальное
время ожидания равно 4 (для маршрута номер 11).

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

Входной файл INPUT.TXT содержит в первой строке число N (2 ≤ N ≤ 106). Во второй строке записаны N чисел –
номера маршрутов. Все числа натуральные и не превышают 100. Каждый номер маршрута встречается не менее двух раз.

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
8 4
1
2 11 2 2 25 11 25 11
4 1
2
23 23 41 41

https://acmp.ru/index.asp?main=alltasks 168/591
2/29/2020 Все задачи сайта

Задача №314
Лексикографический порядок чисел
(Время: 1 сек. Память: 16 Мб Сложность: 31%)
Натуральные числа от 1 до N упорядочены лексикографически. Например, для N=25 результат этого упорядочения
будет таким: 1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2, 20, 21, 22, 23, 24, 25, 3, 4, 5, 6, 7, 8, 9.
Требуется написать программу, которая определит, на каком месте оказалось число K.

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

Входной файл INPUT.TXT содержит два натуральных числа N и K, записанных через пробел (1 ≤ K ≤ N ≤ 104).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно натуральное число – номер места, на котором оказалось число
K.

Пример
№ INPUT.TXT OUTPUT.TXT
1 25 17 9

Задача №315
Наименьшая система счисления
(Время: 1 сек. Память: 16 Мб Сложность: 26%)
Известно, что основанием позиционной системы счисления называют количество различных символов, используемых
для записи чисел в данной системе счисления. Также известно, что любое число x в b-ичной системе счисления имеет вид
x=a0∙b0+a1∙b1+…+an∙bn, где b ≥ 2 и 0 ≤ ai < b.
Для записи чисел в b-ичной системе счисления, где b ≤ 36, могут быть использованы первые b символов из
следующего списка 0,1,…, 9, A, B, …, Z. Например, для записи чисел в троичной системы используются символы 0, 1, 2, а
в двенадцатеричной - 0,1,…, 9, A, B.
Требуется написать программу, которая по входной строке S определит, является ли данная строка записью числа в
системе счисления, с основанием не большим 36, и, если является, определит минимальное основание этой системы
счисления.

Входные данные
Входной файл INPUT.TXT содержит в единственной строке входную непустую строку. Длина строки не превышает
255. Все символы строки имеют коды от 32 до 127.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно число. Если строка является записью числа в некоторой
системе счисления, то нужно вывести минимальное основание такой системы счисления. Иначе вывести -1.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 123 4
2 ABCDEF 16
3 AD%AF -1
4 03025 6
5 abc -1

Задача №316
Телеграфный перевод
https://acmp.ru/index.asp?main=alltasks 169/591
2/29/2020 Все задачи сайта

(Время: 1 сек. Память: 16 Мб Сложность: 29%)


Телеграфный перевод оплачивается по 7 рублей за каждую полную и неполную сотню рублей. Например, за перевод
123 рублей надо заплатить 14 рублей – 7 рублей за полную сотню и 7 рублей за 23 рубля – неполную сотню. Некто
попросил переслать ему зарплату в N рублей, взяв деньги за перевод из этой зарплаты.
Требуется написать программу, которая найдет, какую максимальную сумму некто сможет получить, и сколько денег
будет стоить перевод.

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

Входной файл INPUT.TXT содержит одно натуральное число N (8 ≤ N ≤ 6∙104).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать два натуральных числа – максимальную сумму и стоимость
перевода. Числа разделить одним пробелом.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 10 3 7
2 108 100 7

Задача №317
Подарки Деда Мороза
(Время: 0,5 сек. Память: 16 Мб Сложность: 27%)
Ириска весит X грамм, мандарин – Y грамм, пряник – Z грамм.
Требуется написать программу, которая определит, сколько различных вариантов подарков весом ровно W грамм
может сделать Дед Мороз.

Входные данные
В единственной строке входного файла INPUT.TXT содержится четыре целых числа X, Y, Z и W (1 ≤ X, Y, Z ≤ 100, 1 ≤
W ≤ 1000).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно целое число – количество вариантов подарков.

Пример
№ INPUT.TXT OUTPUT.TXT
1 10 25 15 40 3

Задача №318
Следующее число
(Время: 0,5 сек. Память: 16 Мб Сложность: 36%)
Задано натуральное число N.
Требуется написать программу, которая найдет следующее за ним число, в двоичном разложении которого столько же
единиц, сколько в двоичном разложении числа N.

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

Входной файл INPUT.TXT содержит одно натуральное число N (N ≤ 230).

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

https://acmp.ru/index.asp?main=alltasks 170/591
2/29/2020 Все задачи сайта

Выходной файл OUTPUT.TXT должен содержать ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 2
2 2 4
3 3 5

Задача №319
Точки отрезка
(Время: 1 сек. Память: 16 Мб Сложность: 42%)
Концы отрезка на плоскости имеют целочисленные координаты.
Требуется написать программу, которая вычислит, сколько всего точек с целочисленными координатами принадлежат
этому отрезку.

Входные данные
Входной файл INPUT.TXT содержит четыре числа – координаты концов отрезка (x1, y1) и (x2, y2). Каждая из
координат не превышает по абсолютной величине значения 109.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно число – количество точек на заданном отрезке, имеющих
целочисленные координаты.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1 2 2 2
2 0 0 -2 -2 3
3 1 1 1 10 10

Задача №320
Коридор
(Время: 1 сек. Память: 16 Мб Сложность: 38%)
Прямоугольный коридор длиной N метров и шириной M метров решили застелить N прямоугольными плитками
шириной 1 метр и длиной M метров, таким образом, чтобы не было не застеленной поверхности.
Требуется написать программу, которая найдет количество способов это сделать. Например, для коридора с размерами
6 на 4 существует четыре способа застелить плитками 1 на 4.

Входные данные
Входной файл INPUT.TXT содержит два целых числа – M (длина плитки и ширина коридора) и N (длина коридора).
Для этих чисел верны неравенства 2 ≤ M ≤ N ≤ 50.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно число – количество способов.
https://acmp.ru/index.asp?main=alltasks 171/591
2/29/2020 Все задачи сайта

Примеры
№ INPUT.TXT OUTPUT.TXT
1 4 6 4
2 2 2 2

Задача №321
Разные цифры
(Время: 1 сек. Память: 16 Мб Сложность: 27%)
Требуется написать программу, определяющую, в каких системах счисления с основаниями от 2 до 36 это число не
содержит одинаковых цифр.

Входные данные
Входной файл INPUT.TXT содержит одно целое число N (1 ≤ N ≤ 109), записанное в десятичной системе счисления.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать основания систем счисления в порядке возрастания, разделенные
одним пробелом.

Пример
№ INPUT.TXT OUTPUT.TXT
1 100 11 12 13 14 15 16 17 18 20 21 22 23 25 26 27 28 29 30 31 32 33 34 35 36

Задача №322
Слово
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Числа Фибоначчи строятся следующим образом: первые два равны единице, а каждое следующее равно сумме двух
предыдущих. Например, первые десять чисел Фибоначчи равны: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55. В заданном тексте символы
нумеруются слева направо, начиная с единицы.
Требуется написать программу, которая составит слово из символов, номера которых совпадают с числами Фибоначчи.

Входные данные
Входной файл INPUT.TXT содержит в единственной строке текст, состоящий из английских строчных букв. В тексте
от 1 до 30000 символов.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать слово из символов, номера которых совпадают с числами
Фибоначчи. Символы слова идут в том же порядке, что и в заданном тексте.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 a a
2 abc abc
3 abcdefghij abceh

Задача №323
Гипотеза Гольдбаха
(Время: 1 сек. Память: 16 Мб Сложность: 30%)

https://acmp.ru/index.asp?main=alltasks 172/591
2/29/2020 Все задачи сайта

Известно, что любое чётное число, большее 2, представимо в виде суммы 2 простых чисел, причём таких разложений
может быть несколько. Впервые гипотезу о существовании данного разложения сформулировал математик Х. Гольдбах.
Требуется написать программу, производящую согласно утверждению Гольдбаха, разложение заданного чётного
числа. Из всех пар простых чисел, сумма которых равна заданному числу, требуется найти пару, содержащую наименьшее
простое число.

Входные данные
Входной файл INPUT.TXT содержит чётное число N (4 ≤ N ≤ 998).

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести два простых числа, сумма которых равна числу N. Первым
выводится наименьшее число.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 6 3 3
2 992 73 919

Задача №324
Четырехзначный палиндром
(Время: 1 сек. Память: 16 Мб Сложность: 10%)
Требуется написать программу, определяющую, является ли четырехзначное натуральное число N палиндромом, т.е.
числом, которое одинаково читается слева направо и справа налево.

Входные данные
Входной файл INPUT.TXT содержит натуральное число N (1000 ≤ N ≤ 9999).

Выходные данные
В выходной файл OUTPUT.TXT следует вывести слово «YES», если число N является палиндромом, или «NO» – если
нет.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 6116 YES
2 1231 NO

Задача №325
Мы с конем вдвоем по полю пойдем
(Время: 1 сек. Память: 16 Мб Сложность: 31%)
Заданы две клетки шахматной доски. Требуется определить, возможно ли попасть из одной клетки в другую одним
ходом шахматного коня, а если нет, то следует выяснить, возможно ли попасть с помощью двух ходов.

Входные данные
Входной файл INPUT.TXT содержит координаты двух клеток в общепринятом формате: каждая координата
записывается как английская строчная буква и цифра, координаты отделены друг от друга запятой и пробелом.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать цифру «1», если возможно из одной клетки в другую попасть за 1
ход, либо цифру «2», если попасть можно за 2 хода, либо «NO», если одна клетка недостижима из другой ни за 1 ни за 2
хода.
https://acmp.ru/index.asp?main=alltasks 173/591
2/29/2020 Все задачи сайта

Примеры
№ INPUT.TXT OUTPUT.TXT
1 a1, h8 NO
2 a1, b3 1
3 a1, d4 2

Задача №326
Преобразование последовательности - 2
(Время: 1 сек. Память: 16 Мб Сложность: 29%)
Задана последовательность, содержащая n целых чисел. Необходимо найти число, которое встречается в этой
последовательности наибольшее количество раз, а если таких чисел несколько, то найти минимальное из них, и после
этого переместить все такие числа в конец заданной последовательности. Порядок расположения остальных чисел должен
остаться без изменения.
Например, последовательность 1, 2, 3, 2, 3, 1, 2 после преобразования должна превратиться в последовательность 1, 3,
3, 1, 2, 2, 2.
Требуется написать программу, которая решает данную задачу.

Входные данные
Первая строка входного файла INPUT.TXT содержит число n — количество чисел во входной последовательности (3 ≤
n ≤ 100). Следующая строка содержит входную последовательность, состоящую из n целых чисел, не превышающих по
модулю 100. Все числа в строке разделены пробелом.

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

Пример
№ INPUT.TXT OUTPUT.TXT
7 1 3 3 1 2 2 2
1
1 2 3 2 3 1 2

Задача №327
В одном шаге от счастья
(Время: 1 сек. Память: 16 Мб Сложность: 16%)
Вова купил билет в трамвае 13-го маршрута и сразу посчитал суммы первых трёх цифр и последних трёх цифр номера
билета (номер у билета шестизначный). Оказалось, что суммы отличаются ровно на единицу. «Я в одном шаге от счастья»,
— подумал Вова, — «или предыдущий или следующий билет точно счастливый». Прав ли он?

Входные данные
Входной файл INPUT.TXT содержит в первой строке число K – количество тестов. В следующих K строках записаны
номера билетов. Количество тестов не больше 10. Номер состоит ровно из шести цифр, среди которых могут быть и нули.
Гарантируется, что Вова умеет считать, то есть суммы первых трех цифр и последних трех цифр отличаются ровно на
единицу.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать K строк, в каждой из которых для соответствующего теста следует
указать "Yes", если Вова прав, и "No", если нет.

Пример
№ INPUT.TXT OUTPUT.TXT
https://acmp.ru/index.asp?main=alltasks 174/591
2/29/2020 Все задачи сайта
1 3 Yes
715068 No
445219 Yes
012200

Примечание
Трамвайный билет называется счастливым, если сумма его первых трёх цифр равна сумме его последних трёх цифр.

Задача №328
Точки на костях Домино
(Время: 1 сек. Память: 16 Мб Сложность: 25%)
Для того, чтобы заработать огромный капитал, новым русским необходимо иметь неординарное мышление. Конечно,
при такой сложной работе, должны так же присутствовать какие то особенные механизмы для отдыха и развлечений. В
этих целях в казино был придуман специальный набор домино для новых русских. Обычные кости домино представляют
собой набор из различных комбинаций сочетаний двух плиток, на каждой из которых отображается от 0 до 6 точек. А этот
набор представляет собой подобные сочетания плиток, но количество точек на каждой может быть от нуля до заданного
значения, которое зависит от интеллектуального уровня игроков. В таком наборе костей присутствуют всевозможные
сочетания плиток, но при этом ни одна из костей не повторяется (даже такие комбинации как 2-5 и 5-2 считаются
одинаковыми).
Для изготовления данного набора костей перед изготовителем встала проблема вычисления суммарного количества
точек на всех костях домино. Это связано с тем, что домино для новых русских украшается бриллиантами, которые
представляют собой точки на плитках и при изготовлении необходимо оценить стоимость.
Помогите написать программу, которая решит эту задачу.

Входные данные
Входной файл INPUT.TXT содержит одно натуральное число N – максимальное количество точек на одной плитке
домино. (N ≤ 10000)

Выходные данные
В выходной файл OUTPUT.TXT выведите количество бриллиантовых камней, которые необходимо изготовить для
заданного набора костей.

Пример
№ INPUT.TXT OUTPUT.TXT
1 2 12

Задача №329
Лесенка-2
(Время: 1 сек. Память: 16 Мб Сложность: 37%)
Вова стоит перед лесенкой из N ступеней. На каждой из ступеней написаны произвольные целые числа. Первым
шагом Вова может перейти на первую ступень или, перепрыгнув через первую, сразу оказаться на второй. Также он
поступает и дальше, пока не достигнет N-ой ступени. Посчитаем сумму всех чисел, написанных на ступенях через
которые прошел Вова.
Требуется написать программу, которая определит оптимальный маршрут Вовы, при котором, шагая, он получит
наибольшую сумму.

Входные данные
Входной файл INPUT.TXT содержит в первой строке натуральное число N – количество ступеней лестницы (2 ≤ N ≤
1000). Во второй строке через пробел заданы числа, написанные на ступенях лестницы, начиная с первой. Числа,
написанные на ступенях, не превосходят по модулю 1000.

Выходные данные
https://acmp.ru/index.asp?main=alltasks 175/591
2/29/2020 Все задачи сайта

Выходной файл OUTPUT.TXT должен содержать в первой строке наибольшее значение суммы. Во второй строке
должны быть записаны через пробел номера ступеней по возрастанию, по которым должен шагать Вова. Если существует
несколько различных правильных маршрутов, то можно вывести любой из них.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 4
1
1 2 1 1 2 3
3 2
2
1 -1 1 1 3

Задача №330
Телепортация
(Время: 1 сек. Память: 16 Мб Сложность: 30%)
Вова попал на космическом корабле на бесконечную плоскую планету в точку с координатами (x1, y1). Вова, управляя
кораблем, имеет возможность за одну секунду телепортироваться из точки (x, y) в одну из точек (x+C, y+C), (x+C, y-C), (x-
C, y+C), (x-C, y-C), где C - произвольное натуральное число, которое можно изменять на каждом ходу.
Требуется написать программу, которая определит, через какое минимальное время Вове удастся достичь точки (x2,
y2).

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

Входной файл INPUT.TXT содержит в первой строке числа x1, y1, во второй – x2, y2. Все числа целые от нуля до 106.
Точки (x1, y1) и (x2, y2) не совпадают.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно число – минимальное время телепортации. Если такая
телепортация невозможна, то вывести 0.

Пример
№ INPUT.TXT OUTPUT.TXT
0 0 2
1
0 2

Задача №331
Время прибытия
(Время: 1 сек. Память: 16 Мб Сложность: 15%)
Задано время отправления поезда и время в пути до конечной станции. Требуется написать программу, которая найдет
время прибытия этого поезда (возможно, в другие сутки).

Входные данные
Входной файл INPUT.TXT содержит две строки. В первой строке задано время отправления, а во второй строке –
время в пути. Время отправления задается в формате «HH:MM», где HH время в часах, которое принимает значение от 00
до 23, ММ – время в минутах, которое принимает значение от 00 до 59. Время в пути задается двумя неотрицательными
целыми числами – количество часов и количество минут. Числа разделяются одним пробелом. Количество часов не
превышает 120, минут – 59.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одну строку – время прибытия поезда на конечную станцию. Формат
вывода этого времени совпадает с форматом ввода времени отправления.

Примеры
https://acmp.ru/index.asp?main=alltasks 176/591
2/29/2020 Все задачи сайта

№ INPUT.TXT OUTPUT.TXT
00:00 10:10
1
10 10
01:02 05:08
2
4 6
11:00 09:00
3
22 0

Задача №332
Минимальная стоимость проезда
(Время: 1 сек. Память: 16 Мб Сложность: 40%)
На прямой ветке железной дороги расположено несколько станций. Задана стоимость проезда между любыми двумя
станциями.
Требуется написать программу нахождения минимальной стоимости проезда между крайними станциями. Двигаться
по железной дороге можно только в одном направлении (от станции с меньшим номером до станции с большим номером.).

Входные данные
Входной файл INPUT.TXT содержит в первой строке натуральное число N, не большее 250. Всего на дороге
расположено N+1 станций, пронумерованных от 0 до N. В следующих строках записано N(N+1)/2 чисел, задающих
стоимости проезда между станциями: сначала стоимость проезда от станции 0 до станций 1, 2, 3, …, N, затем от станции 1
до станций 2, 3, …, N, …, от станции N-1 до станции N. Все стоимости проезда – неотрицательные целые числа, не
превосходящие 10000.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно число – минимальную стоимость проезда от станции 0 до
станции N с возможными пересадками.

Пример
№ INPUT.TXT OUTPUT.TXT
3 12
7 10 20
1
4 8
2

Пояснение
В приведенном примере всего 4 станции с номерами 0, 1, 2, 3. Оптимальный маршрут проходит через станции 0, 2 и 3.
Его стоимость равна 10+2=12.

Задача №333
Общие цифры
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Заданы натуральные числа A, B, C. Требуется написать программу, которая найдет общие цифры в этих числах.

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

Входной файл INPUT.TXT содержит три натуральных числа A, B, C (1 ≤ A, B, C ≤ 1080). Числа разделены одним
пробелом.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать в первой строке количество общих цифр, а во второй строке в
порядке возрастания через один пробел общие цифры.

https://acmp.ru/index.asp?main=alltasks 177/591
2/29/2020 Все задачи сайта

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 2 3 0
12 13 14 1
2
1
1234 2345 3456 2
3
3 4

Задача №334
Китайские часы
(Время: 1 сек. Память: 16 Мб Сложность: 41%)
Русский бизнесмен Иван Петров закупил в Китае большую партию наручных часов, чтобы продать их на родине за
полцены (т.е. в 5 раз дороже, чем они стоили в Китае). Иван столкнулся с проблемой: китайские часы оказались
некачественными. Мало того, что часы работали на протяжении всего нескольких часов, пока их не стукнешь, так еще и
время подводить неудобно: вращать можно не минутную, а только секундную стрелку, причем, что самое ужасное, только
в одну сторону в направлении увеличении времени. Например, для того, чтобы подвести часы на секунду назад,
необходимо было сделать более 700 полных оборотов секундной стрелки, на что Иван бы потратил более 10 минут.
Чтобы продать эти часы оптом Ивану необходимо на момент сделки создать видимость того, что часы исправны. Для
этого он собирается остановить все часы, установить их на одно и то же время. А перед сделкой ударить по чемодану с
часами, чтобы они все дружно пошли.
Помогите Ивану выяснить: какое время на часах лучше установить для того, чтобы Иван потратил как можно меньше
времени для того, чтобы подвести все часы.

Входные данные
В первой строке входного файла INPUT.TXT содержится натуральное число N – количество часов (N ≤ 50000). В
последующих N строках располагаются показания всех часов в формате h:mm:ss, где h – показывает который час, mm –
минуты, ss - секунды (1 ≤ h ≤ 12, 0 ≤ mm ≤ 59, 0 ≤ ss ≤ 59).

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

Пример
№ INPUT.TXT OUTPUT.TXT
3 2:05:11
8:19:16
1
2:05:11
12:50:07

Задача №335
Трипростые числа
(Время: 1 сек. Память: 16 Мб Сложность: 40%)
Будем называть натуральное число трипростым, если в нем любые подряд идущие 3 цифры образуют трехзначное
простое число.
Требуется найти количество N-значных трипростых чисел.

Входные данные
Входной файл INPUT.TXT содержит натуральное число N (3 ≤ N ≤ 10000).

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

https://acmp.ru/index.asp?main=alltasks 178/591
2/29/2020 Все задачи сайта

Выходной файл OUTPUT.TXT должен содержать количество N-значных трипростых чисел, которое следует вывести
по модулю 109+9.

Пример
№ INPUT.TXT OUTPUT.TXT
1 4 204

Задача №336
Лифт
(Время: 1 сек. Память: 16 Мб Сложность: 20%)
В доме Вилли установили скоростной лифт новой экспериментальной модели. В этом лифте кнопки с номерами
этажей заменены двумя другими кнопками. При нажатии на первую кнопку лифт поднимается на один этаж вверх, а при
нажатии на вторую – опускается на один этаж вниз.
Младшему брату Вилли Дилли очень нравится кататься на новом лифте. Он катается на нём до тех пор, пока не
побывает на каждом из этажей хотя бы по одному разу. После этого Дилли довольный возвращается домой.
Зная порядок, в котором Дилли нажимал на кнопки лифта, попробуйте определить общее количество этажей в доме
Вилли и Дилли.

Входные данные
Первая строка входного файла INPUT.TXT содержит последовательность нажатий на кнопки лифта. Символ «1»
означает, что была нажата первая кнопка, а символ «2» – что была нажата вторая кнопка. Символы «1» и «2» не разделены
пробелами. Количество нажатий от 1 до 100. Гарантируется, что лифт никогда не опускался ниже первого и не поднимался
выше последнего этажа.

Выходные данные
В выходной файл OUTPUT.TXT следует вывести одно число – количество этажей в доме Вилли и Дилли.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 11 3
2 21212 2
3 1221221221221 6

Задача №337
Лампочки
(Время: 2 сек. Память: 16 Мб Сложность: 94%)
Имеется ряд из N лампочек, которые пронумерованы от 1 до N. Изначально ни одна из лампочек не горит. Далее
происходит K последовательных линейных инверсий этого ряда ламп. Под линейной инверсией понимается инверсия
каждой P-й лампочки в ряде. Например, если P=3, то произойдет инверсия 3й, 6й, 9й и т.д. лампочек.
Требуется определить: сколько горящих лампочек останется после реализации всех заданных линейных инверсий?

Входные данные
В первой строке входного файла INPUT.TXT заданы числа N и K – число лампочек и число линейных инверсий.
Вторая строка состоит из K целых чисел Pi, задающих период данных инверсий. (1 ≤ N ≤ 109, 1 ≤ K ≤ 100, 1 ≤ Pi ≤ 50)

Выходные данные
В выходной файл OUTPUT.TXT следует вывести ответ на задачу.

Примеры

https://acmp.ru/index.asp?main=alltasks 179/591
2/29/2020 Все задачи сайта

№ INPUT.TXT OUTPUT.TXT
20 3 8
1
2 3 8
172 10 99
2
19 2 7 13 40 23 16 1 45 9

Задача №338
Лоскутки
(Время: 1 сек. Память: 16 Мб Сложность: 40%)
Вася Пупкин взял листочек в клетку и начал его резать по определённым линиям. На запасном листке такого же
размера он закрасил клетки, по которым проходили линии. Василий Васильевич так увлёкся этим занятием, что запутался,
сколько частей от листа у него осталось. Ваша задача найти это число.

Входные данные
Во входном файле INPUT.TXT в первой строке записаны N и M (0 < N, M ≤ 100) – размерность матрицы. Далее
записана матрица из N строк, каждая из которых содержит M нулей и единиц. 0 обозначает не закрашенную клетку и 1 –
закрашенную (линию разреза).

Выходные данные
В выходной файл OUTPUT.TXT следует вывести количество оставшихся частей листа.

Пример
№ INPUT.TXT OUTPUT.TXT
4 4 2
0 0 1 0
1 0 0 1 0
0 1 0 0
1 0 0 1

Задача №339
Мероприятие
(Время: 1 сек. Память: 16 Мб Сложность: 31%)
Мише поручили решить следующую задачу: имеется дата начала и конца некоторого мероприятия; требуется
определить его длительность. Он написал программу и попросил Машу её проверить.
Через некоторое время пришла Маша и расстроила Мишу: «Твоя программа работает неправильно. По-моему, ты
забыл, что года бывают високосными».
У Миши очень мало свободного времени и он не успевает исправить свою программу. Помогите ему.
Год является високосным, тогда и только тогда, когда выполнено одно из следующих условий:

год делится на 4, но не делится на 100;


год делится на 400.

Например, года 400, 404, 496, 504, 2000, 2004 являются високосными, а года 100, 200, 300, 503, 1000, 2001, 2005 - нет.

Входные данные
Первая строка входного файла INPUT.TXT содержит дату начала мероприятия. Вторая строка входного файла
содержит дату конца мероприятия. Гарантируется, что первая дата меньше второй. Даты заданы в формате DD.MM.YYYY.

Выходные данные
В выходной файл OUTPUT.TXT выведите единственное число - длительность мероприятия (в днях).

Примеры
https://acmp.ru/index.asp?main=alltasks 180/591
2/29/2020 Все задачи сайта

№ INPUT.TXT OUTPUT.TXT
01.09.2005 36
1
06.10.2005
01.09.0005 366
2
01.09.0006
01.02.2004 30
3
01.03.2004

Задача №340
Коробки
(Время: 1 сек. Память: 16 Мб Сложность: 19%)
На столе лежат коробка размера A1 × B1 × C1 и коробка размера A2 × B2 × C2. Выясните можно ли одну из этих
коробок положить в другую, если разрешены повороты коробок вокруг любого ребра на угол 90 градусов.

Входные данные
Первая строка входного файла содержит три целых числа A1, B1 и C1. Вторая строка входного файла содержит три
целых числа A2, B2 и C2. Все числа положительны и не превосходят 1000.

Выходные данные
Если коробки одинаковы, выведите "Boxes are equal". Если первая коробка может быть положена во вторую, выведите
"The first box is smaller than the second one". Если вторая коробка может быть положена в первую, выведите "The first box is
larger than the second one". Иначе, выведите "Boxes are incomparable".

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 3 Boxes are equal
1
3 2 1
2 2 3 The first box is larger than the second one
2
3 2 1
2 2 3 The first box is smaller than the second one
3
3 2 3
3 4 5 Boxes are incomparable
4
2 4 6

Задача №341
Числовая последовательность
(Время: 1 сек. Память: 16 Мб Сложность: 35%)
Дима недавно поступил на работу в научно-исследовательский институт «Числовые Последовательности». Как
следует из названия этого института, основным направлением его работы является проведение различных исследований в
области числовых последовательностей.
Недавно руководитель отдела, где начал работать Дима, при решении одной из проблем столкнулся с весьма
интересной последовательностью чисел a1, a2, …, an, …, которая определяется следующим образом: a1 = 0 и каждое
последующее число ai (1 < i ≤ n) определяется как наименьшее большее натуральное число, десятичная запись которого не
содержит цифр, представленных в десятичной записи ai-1.
Требуется написать программу, которая по значению числа n вычисляет величину an.

Входные данные
Входной файл INPUT.TXT содержит натуральное число N (N ≤ 500).

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

https://acmp.ru/index.asp?main=alltasks 181/591
2/29/2020 Все задачи сайта

В выходной файл OUTPUT.TXT выведите искомое число aN.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 0
2 28 911

Задача №342
Вписанная окружность
(Время: 1 сек. Память: 16 Мб Сложность: 68%)
Очень интересными объектами, которые изучаются в планиметрии, являются вписанные и описанные окружности.
Известно, например, что вокруг любого треугольника можно описать окружность и в любой треугольник можно вписать
окружность. А что будет, если вместо треугольника задан выпуклый многоугольник?
Требуется написать программу, которая определяет, можно ли в заданный выпуклый многоугольник вписать
окружность, и, если это можно сделать, то вычисляет координаты ее центра и радиус.

Входные данные
Первая строка входного файла INPUT.TXT содержит количество вершин многоугольника n (3 ≤ n ≤ 8). Последующие n
строк содержат координаты вершин многоугольника в порядке обхода против часовой стрелки, каждая i-ая из них
содержит два целых числа: xi и yi, значения которых не превосходят 1000 по абсолютной величине.

Выходные данные
В первой строке выходного файла OUTPUT.TXT необходимо вывести YES, если окружность, вписанная в заданный
многоугольник, существует, в противном случае следует вывести слово NO . В случае положительного ответа во второй
строке следует указать координаты центра окружности и ее радиус с точностью, не худшей чем 10-3.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 YES
0 0 0.500 0.500 0.500
1 1 0
1 1
0 1
4 NO
0 0
2 1 0
1 2
0 2

Задача №343
Укладка плиток
(Время: 1 сек. Память: 16 Мб Сложность: 35%)
Вы являетесь одним из разработчиков нового архитектурного пакета прикладных программ
«CadArch». Одной из его функций является проектирование укладки половых плиток. В
настоящее время вы занимаетесь программной реализацией модуля, который отвечает за
укладку плиток в прямоугольных помещениях.
Для простоты будем считать, что пол помещения представляет собой прямоугольник
размером n на m метров, разбитый на m∙n квадратиков со стороной по 1 метру. Кроме этого,
будем считать, что имеется четыре типа плиток, показанные в таблице. Каждая из плиток
представляет собой квадрат размером 2 на 2 метра, из которого вырезан один квадратик
размером 1 на 1 метр.

https://acmp.ru/index.asp?main=alltasks 182/591
2/29/2020 Все задачи сайта

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

Входные данные
Первая строка входного файла INPUT.TXT содержит два числа n и m — длина и ширина пола помещения (1 ≤ m, n ≤
50). Вторая строка содержит число k — количество команд, которые необходимо обработать. Каждая из последующих k
строк содержит описание одной команды из набора команд. Описание команды состоит из трех чисел. Первое число
определяет тип плитки (число от 1 до 4), а два других - координаты левого верхнего угла квадрата (y,x) размером 2 на 2, в
который вписана соответствующая плитка (0 ≤ x, y, k ≤ 1000).

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести одно число, определяющее площадь, покрытую плитками после
выполнения заданной во входном файле последовательности команд.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 4 9
4
4 1 1
1
2 2 2
3 1 1
1 3 3
2 3 6
2
2
2 1 1
3 1 2
3 2 6
2
3
4 1 1
1 2 1

Задача №344
Ближайшие точки
(Время: 1 сек. Память: 16 Мб Сложность: 38%)
Антон в школе начал изучать математику. Его внимание привлекло новое для него понятие числовой прямой. Антон
быстро научился вычислять расстояния между двумя точками на этой прямой, задавать отрезки и интервалы на ней.
Готовясь к контрольной работе, Антон столкнулся со следующей задачей: «На числовой прямой задано n точек.
Необходимо найти среди них две ближайшие». Расстояние между двумя точками числовой прямой x и y равно |x - y|.
Требуется написать программу, которая поможет Антону решить поставленную задачу.

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

Первая строка входного файла INPUT.TXT содержит количество точек n (2 ≤ n ≤ 105). Вторая строка содержит n
различных целых чисел xi – координаты заданных точек числовой прямой. Числа в строке разделены пробелом. Значения
всех координат xi не превосходят 109 по абсолютной величине.

Выходные данные
В первой строке выходного файла OUTPUT.TXT необходимо вывести минимальное расстояние между двумя точками,
заданными во входном файле. Во второй строке выходного файла необходимо вывести номера точек, которым
соответствует найденное расстояние. Точки нумеруются натуральными числами от 1 до n в том порядке, в котором они
https://acmp.ru/index.asp?main=alltasks 183/591
2/29/2020 Все задачи сайта

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

Пример
№ INPUT.TXT OUTPUT.TXT
5 1
1
10 3 6 2 5 4 2

Задача №345
Рекурсия
(Время: 1 сек. Память: 16 Мб Сложность: 46%)
Одним из важных понятий, используемых в теории алгоритмов, является рекурсия. Неформально ее можно
определить как использование в описании объекта самого себя. Если речь идет о процедуре, то в процессе исполнении эта
процедура напрямую или косвенно (через другие процедуры) вызывает сама себя.
Рекурсия является очень «мощным» методом построения алгоритмов, но таит в себе некоторые опасности. Например,
неаккуратно написанная рекурсивная процедура может войти в бесконечную рекурсию, то есть, никогда не закончить свое
выполнение (на самом деле, выполнение закончится с переполнением стека).
Поскольку рекурсия может быть косвенной (процедура вызывает сама себя через другие процедуры), то задача
определения того факта, является ли данная процедура рекурсивной, достаточно сложна. Попробуем решить более
простую задачу.
Рассмотрим программу, состоящую из n процедур P1, P2, …, Pn. Пусть для каждой процедуры известны процедуры,
которые она может вызывать. Процедура P называется потенциально рекурсивной, если существует такая
последовательность процедур Q0, Q1, …, Qk, что Q0 = Qk = P и для i = 1…k процедура Qi-1 может вызвать процедуру Qi. В
этом случае задача будет заключаться в определении для каждой из заданных процедур, является ли она потенциально
рекурсивной.
Требуется написать программу, которая позволит решить названную задачу.

Входные данные
Первая строка входного файла INPUT.TXT содержит целое число n — количество процедур в программе (1 ≤ n ≤ 100).
Далее следуют n блоков, описывающих процедуры. После каждого блока следует строка, которая содержит 5 символов
«*».
Описание процедуры начинается со строки, содержащий ее идентификатор, состоящий только из маленьких букв
английского алфавита и цифр. Идентификатор непуст, и его длина не превосходит 100 символов. Далее идет строка,
содержащая число k (k ≤ n ) — количество процедур, которые могут быть вызваны описываемой процедурой.
Последующие k строк содержат идентификаторы этих процедур — по одному идентификатору на строке.
Различные процедуры имеют различные идентификаторы. При этом ни одна процедура не может вызвать процедуру,
которая не описана во входном файле.

Выходные данные
В выходной файл OUTPUT.TXT для каждой процедуры, присутствующей во входных данных, необходимо вывести
слово YES, если она является потенциально рекурсивной, и слово NO – в противном случае, в том же порядке, в каком они
перечислены во входных данных.

Пример
№ INPUT.TXT OUTPUT.TXT
1 3 YES
p1 YES
2 NO
p1
p2
*****
p2
1
https://acmp.ru/index.asp?main=alltasks 184/591
2/29/2020 Все задачи сайта
p1
*****
p3
1
p1
*****

Задача №346
Сумма двух чисел
(Время: 1 сек. Память: 16 Мб Сложность: 46%)
Заданы три числа: a, b, c. Необходимо выяснить, можно ли так переставить цифры в числах a и b, чтобы в сумме
получилось c.

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

Входной файл INPUT.TXT содержит три целых числа: a, b, c (0 < a, b, c < 109). Числа разделены пробелом.

Выходные данные
В выходной файл OUTPUT.TXT следует вывести YES, если искомая перестановка цифр возможна, в противном
случае необходимо вывести NO. При положительном ответе во второй строке следует вывести число x, получаемое
перестановкой цифр числа a, и число y, получаемое перестановкой цифр числа b, сумма которых равна c. Числа x и y при
выводе не должны содержать ведущих нулей. Числа в строке разделены пробелом. Если решений несколько, то следует
вывести ту пару, в которой число x минимально.

Примеры
№ INPUT.TXT OUTPUT.TXT
12 31 25 YES
1
12 13
2 12 31 26 NO
101 2 13 YES
3
11 2

Задача №347
Покер
(Время: 1 сек. Память: 16 Мб Сложность: 33%)
Имеется 5 целых чисел. Среди них:

• если одинаковы 5, то вывести "Impossible", иначе


• если одинаковы 4, то вывести "Four of a Kind", иначе
• если одинаковы 3 и 2, то вывести "Full House", иначе
• если есть 5 последовательных, то вывести "Straight", иначе
• если одинаковы 3, то вывести "Three of a Kind", иначе
• если одинаковы 2 и 2, то вывести "Two Pairs", иначе
• если одинаковы 2, то вывести "One Pair", иначе
• вывести "Nothing".

Входные данные
Входной файл INPUT.TXT содержит 5 целых чисел от 1 до 13, разделенных пробелом.

Выходные данные
В выходной файл OUTPUT.TXT следует вывести результат анализа.

Примеры

https://acmp.ru/index.asp?main=alltasks 185/591
2/29/2020 Все задачи сайта

№ INPUT.TXT OUTPUT.TXT
1 1 3 9 3 2 One Pair
2 1 5 5 4 4 Two Pairs
3 1 5 2 4 3 Straight
4 10 11 12 13 1 Nothing

Задача №348
Пересечение отрезков
(Время: 1 сек. Память: 16 Мб Сложность: 49%)
Два отрезка на плоскости заданы целочисленными координатами своих концов в декартовой системе координат.
Требуется определить, существует ли у них общая точка.

Входные данные
Входной файл INPUT.TXT содержит координаты четырех точек, задающих отрезки. В первой строке содержатся
координаты первого конца первого отрезка , во второй - второго конца первого отрезка, в третьей и четвёртой - координаты
концов второго отрезка. Все координаты – целые числа, не превосходящие 10000 по абсолютной величине.

Выходные данные
В выходной файл OUTPUT.TXT следует вывести слово "Yes", если общая точка есть, или слово "No" - в противном
случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
0 0 Yes
1 1
1
0 1
1 0
0 0 No
1 0
2
0 1
1 1
0 0 Yes
1 0
3
1 0
1 1

Задача №349
Простые числа
(Время: 0,5 сек. Память: 32 Мб Сложность: 28%)
Необходимо вывести все простые числа от M до N включительно.

Входные данные
Входной файл INPUT.TXT содержит два натуральных числа M и N, разделенных пробелом (2 ≤ M ≤ N ≤ 106)

Выходные данные
В выходной файл OUTPUT.TXT выведите все простые числа от M до N в порядке возрастания, по одному в строке.
Если таковых чисел нет, то следует вывести «Absent».

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 5 2
https://acmp.ru/index.asp?main=alltasks 186/591
2/29/2020 Все задачи сайта
3
5
2 4 4 Absent

Задача №350
Перестановки
(Время: 1 сек. Память: 16 Мб Сложность: 44%)
Дана строка, состоящая из N попарно различных символов. Требуется вывести все перестановки символов данной
строки.

Входные данные
Входной файл INPUT.TXT содержит строку, состоящую из N символов (1 ≤ N ≤ 8), символы - буквы английского
алфавита и цифры.

Выходные данные
В выходной файл OUTPUT.TXT выведите в каждой строке по одной перестановке. Перестановки можно выводить в
любом порядке. Повторений и строк, не являющихся перестановками исходной, быть не должно.

Примеры
№ INPUT.TXT OUTPUT.TXT
AB AB
1
BA
IOX XOI
OIX
IXO
2
XIO
OXI
IOX

Задача №351
Прыжки по буквам
(Время: 1 сек. Память: 16 Мб Сложность: 56%)
Дана цепочка из N символов, состоящая из прописных английских букв. Необходимо пройти с первого символа
цепочки до последнего символа, прыгая не более чем на K символов. Стоимость прыжка, при котором символ не меняется,
равна 0, а стоимость прыжка на другой символ равна 1.
Требуется написать программу, которая вычислит наименьшую стоимость перехода с первого на последний символ.

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

Входной файл INPUT.TXT содержит в первой строке два целых числа: длина цепочки N (2 ≤ N ≤ 105) и максимальная
длина прыжка K (1 ≤ K < N). Во второй строке содержится цепочка из N английских букв.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно число – минимальную стоимость перехода.

Пример
№ INPUT.TXT OUTPUT.TXT
10 2 2
1
ABABBCACBC

Задача №352
Дробь
https://acmp.ru/index.asp?main=alltasks 187/591
2/29/2020 Все задачи сайта

(Время: 1 сек. Память: 16 Мб Сложность: 39%)


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

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

Входной файл INPUT.TXT содержит одно целое число N (3 ≤ N ≤ 2∙109).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать два числа – числитель и знаменатель найденной дроби, разделенные
пробелом.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 1 2
2 10 3 7

Задача №353
Треугольники
(Время: 0,5 сек. Память: 16 Мб Сложность: 41%)
Дан набор из нескольких отрезков. Необходимо составить треугольник наибольшей площади, используя в качестве
сторон три отрезка из заданных.
Требуется написать программу, которая найдет наибольшую площадь треугольника.

Входные данные
Входной файл INPUT.TXT содержит в первой строке одно целое число N (3 ≤ N ≤ 1000) – количество отрезков. Во
второй строке содержатся N целых чисел от 1 до 1000 – длины отрезков. Числа разделены пробелом.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно число с тремя десятичными знаками после запятой –
наибольшую площадь треугольника из заданных отрезков. Если из заданных отрезков нельзя построить ни одного
треугольника, то следует вывести 0.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 13.998
1
2 4 8 16 7
3 6.000
2
3 4 5
3 0
3
1 2 5

Задача №354
Разложение на простые множители
(Время: 1 сек. Память: 16 Мб Сложность: 27%)
Требуется вывести представление целого числа N в виде произведения простых чисел.

https://acmp.ru/index.asp?main=alltasks 188/591
2/29/2020 Все задачи сайта

Входные данные
Входной файл INPUT.TXT содержит натуральное число N (2 ≤ N ≤ 231-1).

Выходные данные
В выходной файл OUTPUT.TXT выведите список простых множителей числа N в порядке неубывания, разделенных
знаком «*».

Примеры
№ INPUT.TXT OUTPUT.TXT
1 5 5
2 30 2*3*5

Задача №355
Перестановки - 2
(Время: 1 сек. Память: 16 Мб Сложность: 46%)
Дана строка, состоящая из N символов. Требуется вывести все перестановки символов данной строки.

Входные данные
Входной файл INPUT.TXT содержит строку, состоящую из N символов (1 ≤ N ≤ 8), символы - буквы английского
алфавита и цифры.

Выходные данные
В выходной файл OUTPUT.TXT выведите в каждой строке по одной перестановке. Перестановки можно выводить в
любом порядке. Повторений и строк, не являющихся перестановками исходной, быть не должно.

Примеры
№ INPUT.TXT OUTPUT.TXT
AB AB
1
BA
122 122
2 212
221

Задача №356
Копилка
(Время: 1 сек. Память: 16 Мб Сложность: 49%)
Задан вес E пустой копилки и вес F копилки с монетами. В копилке могут находиться монеты N видов, для каждого
вида известна ценность Pi и вес Wi одной монеты. Найти минимальную и максимальную суммы денег, которые могут
находиться в копилке.

Входные данные
В первой строке входного файла INPUT.TXT находятся числа E и F, во второй - число N, в следующих N строках - по
два числа, Pi и Wi. (1 ≤ E ≤ F ≤ 10000, 1 ≤ N ≤ 500, 1 ≤ Pi ≤ 50000, 1 ≤ Wi ≤ 10000).

Выходные данные
В выходной файл OUTPUT.TXT выведите два числа через пробел - минимальную и максимальную суммы. Если
копилка не может иметь точно заданный вес при условии, что она наполнена монетами заданных видов, следует вывести
"This is impossible.".

https://acmp.ru/index.asp?main=alltasks 189/591
2/29/2020 Все задачи сайта

Примеры
№ INPUT.TXT OUTPUT.TXT
1000 1100 100 250
2
1
1 1
5 2
1000 1010 10 16
2
2
6 3
2 2
1000 2000 This is impossible.
3 1
10 3

Задача №357
Делимость на 11
(Время: 1 сек. Память: 16 Мб Сложность: 22%)
Для делимости числа на 11 необходимо, чтобы разность между суммой цифр, стоящих на четных местах, и суммой
цифр, стоящих на нечетных местах, делилась на 11.
Требуется написать программу, которая проверит делимость заданного числа на 11.

Входные данные
Входной файл INPUT.TXT содержит одно натуральное число N, делимость которого надо проверить (1 ≤ N ≤ 1010000).

Выходные данные
В выходной файл OUTPUT.TXT выведите “YES”, если число делится на 11, или “NO” иначе.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 121 YES
2 1211 NO

Задача №358
Забор в парке
(Время: 1 сек. Память: 16 Мб Сложность: 42%)
В бесконечном парке деревья образуют квадратную решетку с шагом один метр. Часть парка было решено оградить
забором, который представляет собой треугольник с заданными координатами вершин. Деревья, которые в точности
попадают на вершины или стороны треугольника, придется срубить.
Требуется написать программу, которая найдет количество таких деревьев.

Входные данные
Входной файл INPUT.TXT содержит шесть целых чисел – координаты вершин треугольника (абсцисса, ордината). Все
числа по абсолютной величине не превышают 109 и разделены пробелами.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно число – количество деревьев.

Примеры
№ INPUT.TXT OUTPUT.TXT

https://acmp.ru/index.asp?main=alltasks 190/591
2/29/2020 Все задачи сайта
1 0 0 2 0 0 2 6
2 0 0 -1 -1 -1 0 3

Задача №359
Змейка - 2
(Время: 1 сек. Память: 16 Мб Сложность: 38%)
Мальчик Вася на уроке математики, вместо того, чтобы слушать учителя, рисовал
числа в тетрадке в клеточку. Да не просто так рисовал, а определенным образом.
Сначала он поставил в клетку число 1. Затем справа от нее нарисовал число 2. Затем
снизу от числа 2 написал число 3. Затем перешёл на клетку правее и продолжил
увлекательное занятие двигаясь по столбцу вверх, пока число в этом столбце не стало
выше самого верхнего числа в предыдущем столбце. Затем он перешёл на клетку правее
и опять таки продолжил рисование чисел, начиная с 7, но только уже сверху вниз, пока
не нарисовал число, которое оказалось на одну клетку ниже самого нижнего числа в
предыдущем столбце. И так далее. Вася не любил числа, заканчивающиеся нулем, и
пропускал их при рисовании змейки. Первые его шесть заполненных столбцов мы
скопировали из его тетрадки и привели здесь на рисунке. Так как Вася очень
любопытный, то он очень хочет узнать, какое же число будет у него стоять в N-ом
столбце в той строке, где стоит число 1. Первые 6 таких чисел в этой строке видны на
рисунке: 1, 2, 5, 8, 14, 19.
Требуется написать программу, которая поможет Васе.

Входные данные
Входной файл INPUT.TXT содержит одно число N (1 ≤ N ≤ 106) – номер столбца.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать N-ое число в строке, где стоит число 1.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 5
2 5 14

Задача №360
Максимальная тройка
(Время: 3 сек. Память: 16 Мб Сложность: 33%)
В данной двумерной целочисленной таблице размером N × N требуется найти три элемента, сумма которых
максимальна. При этом первый элемент должен быть соседним по горизонтали или вертикали со вторым, а второй — с
третьим.

Входные данные
Входной файл INPUT.TXT содержит в первой строке число N (1 < N ≤ 2000). В следующих N строках записано по N
чисел – элементы таблицы. Элементы матрицы по абсолютной величине не превышают 100.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать единственное число — максимальную сумму.

Пример
№ INPUT.TXT OUTPUT.TXT
1 3 6
1 1 1

https://acmp.ru/index.asp?main=alltasks 191/591
2/29/2020 Все задачи сайта
2 2 1
2 1 0

Задача №361
Подстроки из одинаковых букв
(Время: 1 сек. Память: 16 Мб Сложность: 32%)
В заданной строке, состоящей из малых английских букв, необходимо найти пару самых длинных подстрок,
состоящих из одних и тех же букв (возможно, в разном порядке). Например, в строке twotwow это будут подстроки wotwo
и otwow.

Входные данные
Входной файл INPUT.TXT содержит исходную строку, длиной от 1 до 100 символов.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать единственное число – длину подстрок в максимальной паре, или 0,
если таких подстрок в строке нет.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 abcde 0
2 abcdea 5

Задача №362
Открытка и конверт
(Время: 1 сек. Память: 16 Мб Сложность: 50%)
Даны размеры прямоугольных открытки и конверта. Требуется определить, поместится ли открытка в конверте.

Входные данные
Входной файл INPUT.TXT содержит в первой строке размеры открытки, во второй строке заданы размеры конверта.
Все размеры – натуральные числа, не превосходящие 100.

Выходные данные
В выходной файл OUTPUT.TXT выведите «Possible», если открытку можно разместить в конверте и «Impossible» в
противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 10 Possible
1
9 9
10 15 Possible
2
15 10
3 4 Impossible
3
3 3

Задача №363
Длинное произведение
(Время: 1 сек. Память: 16 Мб Сложность: 46%)
Даны целые неотрицательные числа M и N. Требуется найти произведение этих чисел.

Входные данные
https://acmp.ru/index.asp?main=alltasks 192/591
2/29/2020 Все задачи сайта

Входной файл INPUT.TXT содержит в первой строке число M, а во второй строке – число N. (0 ≤ M, N ≤ 102500)

Выходные данные
В выходной файл OUTPUT.TXT выведите произведение чисел M и N.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 35
1
7
4134937827592 3241791256832128
2
784
9876543210 10108215200126352690
3
1023456789

Задача №364
Совершенные числа
(Время: 1 сек. Память: 16 Мб Сложность: 51%)
Число называется совершенным, если оно равно сумме всех своих делителей, меньших его самого. Требуется найти
все совершенные числа от M до N.

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

Входной файл INPUT.TXT содержит числа M и N, разделенные пробелом. (1 ≤ M ≤ N ≤ 5*1018)

Выходные данные
В выходной файл OUTPUT.TXT выведите по одному числу в строке в порядке возрастания все совершенные числа,
находящихся на отрезке [M, N]. В том случае, когда таких чисел нет следует вывести «Absent».

Примеры
№ INPUT.TXT OUTPUT.TXT
1 6 6 6
2 4 5 Absent
5 30 6
3
28

Задача №365
Разложение на слагаемые
(Время: 2 сек. Память: 16 Мб Сложность: 54%)
Требуется вывести все различные представления натурального числа N в виде суммы натуральных чисел.
Представления, отличающиеся друг от друга порядком слагаемых, не являются различными.

Входные данные
Входной файл INPUT.TXT содержит целое число N (2 ≤ N ≤ 40).

Выходные данные
В выходной файл OUTPUT.TXT выведите все различные представления числа N без повторов в виде суммы по одному
на отдельной строке. Как слагаемые, так и сами суммы могут следовать в произвольном порядке.

Примеры
№ INPUT.TXT OUTPUT.TXT

https://acmp.ru/index.asp?main=alltasks 193/591
2/29/2020 Все задачи сайта
1 4 1+1+1+1
1+2+1
1+3
2+2
5 1+1+1+1+1
1+1+1+2
1+1+3
2
1+2+2
2+3
1+4

Задача №366
Выражение
(Время: 0,5 сек. Память: 16 Мб Сложность: 56%)
Даны N целых чисел X1, X2, …, XN. Требуется расставить между ними знаки «+» и «-» так, чтобы значение
получившегося выражения было равно заданному целому S.

Входные данные
Входной файл INPUT.TXT в первой строке содержит числа N и S. В следующей строке располагается N чисел,
разделенных пробелом. Ограничения: 2 ≤ N ≤ 24, 0 ≤ Xi ≤ 5*107, -109 ≤ S ≤ 109.

Выходные данные
В выходной файл OUTPUT.TXT выведите «No solution», если такой результат получить невозможно, иначе выведите
получившееся равенство. Если решение не единственное, выведите любое.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 10 15+25-30=10
1
15 25 30
2 100 No solution
2
10 10

Задача №367
Степень - 2
(Время: 1 сек. Память: 16 Мб Сложность: 45%)
Для натуральных чисел A и N требуется вычислить значение AN.

Входные данные
Входной файл INPUT.TXT в первой строке содержит числа A и N, разделенные пробелом. (1 ≤ A ≤ 9, 1 ≤ N ≤ 7000)

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – результат возведения в степень, без лидирующих нулей.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 20 3486784401
2 2 16 65536
3 5 50 88817841970012523233890533447265625

https://acmp.ru/index.asp?main=alltasks 194/591
2/29/2020 Все задачи сайта

Задача №368
Маршрут
(Время: 1 сек. Память: 16 Мб Сложность: 38%)
В таблице из N строк и N столбцов клетки заполнены цифрами от 0 до 9. Требуется найти такой путь из клетки (1, 1) в
клетку (N, N), чтобы сумма цифр в клетках, через которые он пролегает, была минимальной; из любой клетки ходить
можно только вниз или вправо.

Входные данные
В первой строке входного файла INPUT.TXT находится число N. В следующих N строках содержатся по N цифр без
пробелов. (2 ≤ N ≤ 250)

Выходные данные
В выходной файл OUTPUT.TXT выведите N строк по N символов. Символ «#» (решетка) показывает, что маршрут
проходит через эту клетку, а «.» (точка) - что не проходит. Если путей с минимальной суммой цифр несколько, можно
вывести любой.

Пример
№ INPUT.TXT OUTPUT.TXT
3 #..
943 ###
1
216 ..#
091

Задача №369
Гангстеры
(Время: 1 сек. Память: 16 Мб Сложность: 44%)
N гангстеров собираются в ресторан. i-й гангстер приходит в момент времени Ti и имеет богатство Pi. Дверь ресторана
имеет K+1 степень открытости, они обозначаются целыми числами из интервала [0, K]. Степень открытости двери может
изменяться на единицу в единицу времени, то есть дверь может открыться на единицу, закрыться на единицу или остаться
в том же состоянии. В начальный момент времени дверь закрыта (степень открытости 0). i-й гангстер заходит в ресторан,
только если дверь открыта специально для него, то есть когда степень открытости двери соответствует его полноте Si.
Если в момент, когда гангстер подходит к ресторану, степень открытости двери не соответствует его полноте, он уходит и
больше не возвращается. Ресторан работает в интервале времени [0, T].
Требуется собрать гангстеров с максимальным суммарным богатством в ресторане, открывая и закрывая дверь
соответствующим образом.

Входные данные
В первой строке входного файла INPUT.TXT находятся числа N, K, T, во второй - T1, T2, ..., TN, в третьей - P1, P2, ...,
PN. в четвёртой - S1, S2, ..., SN. Числа в строках разделены пробелами. Ограничения: 1 ≤ N ≤ 100, 1 ≤ K ≤ 100, 1 ≤ T ≤ 30
000, 0 ≤ Ti ≤ T, 1 ≤ Pi ≤ 300, 1 ≤ Si ≤ K .

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число - максимальное суммарное богатство гангстеров, попавших в
ресторан. Если зайти не удалось никому, вывести 0.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 10 20 26
10 16 8 16
1
10 11 15 1
10 7 1 8

https://acmp.ru/index.asp?main=alltasks 195/591
2/29/2020 Все задачи сайта
2 2 17 100 0
5 0
50 33
6 1

Задача №370
Площадь многоугольника
(Время: 1 сек. Память: 16 Мб Сложность: 48%)
Многоугольник на плоскости задан целочисленными координатами своих N вершин в декартовой системе координат.
Требуется найти площадь многоугольника. Стороны многоугольника не соприкасаются (за исключением соседних - в
вершинах) и не пересекаются.

Входные данные
В первой строке входного файла INPUT.TXT находится число N. В следующих N строках находятся пары чисел
(Xi,Yi) - координаты точек. Если соединить точки в данном порядке, а также первую и последнюю точки, получится
заданный многоугольник. (3 ≤ N ≤ 50 000, -20 000 ≤ Xi,Yi ≤ 20 000)

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число - площадь многоугольника. Его следует округлить до
ближайшего числа с одной цифрой после запятой.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 50.0
5 0
1 0 5
-5 0
0 -5
4 3.5
0 4
2 0 0
3 0
1 1

Задача №371
Дружественные числа
(Время: 1 сек. Память: 16 Мб Сложность: 58%)
Два различных натуральных числа называются дружественными, если первое из них равно сумме делителей второго
числа, за исключением самого второго числа, а второе равно сумме делителей первого числа, за исключением самого
первого числа. Требуется найти все пары дружественных чисел, оба из которых принадлежат промежутку от M до N.

Входные данные
Входной файл INPUT.TXT в первой строке содержит натуральные числа M и N, разделенные пробелом, не
превышающие 106.

Выходные данные
В выходной файл OUTPUT.TXT выведите в каждой строке по паре чисел через пробел. Первое число пары должно
быть меньше второго. Строки должны быть отсортированы в порядке возрастания первого числа пары. Если пар
дружественных чисел в промежутке нет, то следует вывести "Absent".

Примеры
№ INPUT.TXT OUTPUT.TXT

https://acmp.ru/index.asp?main=alltasks 196/591
2/29/2020 Все задачи сайта
1 200 300 220 284
2 200 250 Absent
185000 205000 185368 203432
3
196724 202444

Комментарий к примеру №1
220=1+2+4+71+142 (все делители числа 284)
284=1+2+4+5+10+11+20+22+44+55+110 (все делители числа 220)
Задача №372
Скобки - 2
(Время: 1 сек. Память: 16 Мб Сложность: 52%)
Вывести все правильные скобочные выражения длиной N, состоящие из круглых и квадратных скобок.

Входные данные
Входной файл INPUT.TXT содержит единственное четное натуральное число N, не превышающее 14.

Выходные данные
В выходной файл OUTPUT.TXT выведите всевозможные правильные скобочные выражения по одному в каждой
строке в произвольном порядке.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 ()
1
[]
4 (())
[[]]
[()]
()[]
2
[]()
()()
([])
[][]

Задача №373
Маршрут - 2
(Время: 1 сек. Память: 16 Мб Сложность: 47%)
Дана матрица N×N, заполненная положительными числами. Путь по матрице начинается в левом верхнем углу. За
один ход можно пройти в соседнюю по вертикали или горизонтали клетку (если она существует). Нельзя ходить по
диагонали, нельзя оставаться на месте.
Требуется найти максимальную сумму чисел, стоящих в клетках по пути длиной K (клетку можно посещать несколько
раз).

Входные данные
Входной файл INPUT.TXT в первой строке содержит разделенные пробелом числа N и K. Затем идут N строк по N
чисел в каждой – данные таблицы. Элементы матрицы – целые числа от 1 до 9999, 2 ≤ N ≤ 100, 1 ≤ K ≤ 2000.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – максимальную сумму.

Пример
№ INPUT.TXT OUTPUT.TXT
https://acmp.ru/index.asp?main=alltasks 197/591
2/29/2020 Все задачи сайта
1 5 7 21
1 1 1 1 1
1 1 3 1 9
1 1 6 1 1
1 1 3 1 1
1 1 1 1 1

Задача №374
Выпуклая оболочка - 2
(Время: 1 сек. Память: 16 Мб Сложность: 55%)
На плоскости заданы N точек своими декартовыми координатами. Найти минимальный периметр многоугольника,
содержащего все эти точки. Гарантируется, что искомый многоугольник имеет ненулевую площадь.

Входные данные
Входной файл INPUT.TXT в первой строке содержит число N, далее - N строк с парами координат (xi, yi).
Ограничения: 3 ≤ N ≤ 1000, -10 000 ≤ xi, yi ≤ 10 000, все числа целые, все точки различны.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно вещественное число - длину периметра полученного многоугольника с
одним знаком после запятой.

Пример
№ INPUT.TXT OUTPUT.TXT
5 5.7
1 0
0 1
1
-1 0
0 -1
0 0

Задача №375
Системы счисления
(Время: 1 сек. Память: 16 Мб Сложность: 53%)
Дано целое неотрицательное число в I-ричной системе счисления. Требуется вывести это число в J-ричной системе
счисления.

Входные данные
Входной файл INPUT.TXT в первой строке содержит два числа I и J (в десятичной системе счисления), во второй
строке - число для перевода. Ограничения: 2 ≤ I, J ≤ 36, для представления цифр 10...35 используются прописные
английские буквы A...Z соответственно, число разрядов исходного числа не превышает 1000.

Выходные данные
В выходной файл OUTPUT.TXT выведите искомое число без лидирующих нулей.

Примеры
№ INPUT.TXT OUTPUT.TXT
10 36 HELLO
1
29234652
2 10 13
2
1101

https://acmp.ru/index.asp?main=alltasks 198/591
2/29/2020 Все задачи сайта

Задача №376
День рождения - 2
(Время: 1 сек. Память: 16 Мб Сложность: 32%)
Заданы день и месяц рождения, а также текущие день, месяц и год. Определить, сколько дней осталось до дня
рождения.
Примечание. Високосные годы - это те, номер которых делится на 400, а также те, номер которых делится на 4, но не
делится на 100.

Входные данные
В первой строке входного файла INPUT.TXT находятся, разделённые пробелами, день и месяц рождения, во второй -
разделённые пробелами текущие день, месяц и год. Ограничения: год от 1920 до 3000, месяц от 1 до 12, день от 1 до числа
дней в месяце.

Выходные данные
В выходной файл OUTPUT.TXT выведите число дней, оставшихся до дня рождения.

Примеры
№ INPUT.TXT OUTPUT.TXT
19 04 0
1
19 04 2002
05 05 16
2
19 04 2002
29 02 1096
3
28 02 2001

Задача №377
Закраска прямой
(Время: 0,5 сек. Память: 16 Мб Сложность: 48%)
На числовой прямой окрасили N отрезков. Известны координаты левого и правого концов каждого отрезка (Li и Ri).
Найти длину окрашенной части числовой прямой.

Входные данные
Входной файл INPUT.TXT в первой строке содержит число N, в следующих N строках - пары Li и Ri. Ограничения:
все числа целые, не превышающие 109 по абсолютной величине, 1 ≤ N ≤ 15 000.

Выходные данные
В выходной файл OUTPUT.TXT выведите длину окрашенной части прямой.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 3
1 1 3
2 4
1 0
2
10 10

Задача №378
Суммы
(Время: 1 сек. Память: 16 Мб Сложность: 47%)

https://acmp.ru/index.asp?main=alltasks 199/591
2/29/2020 Все задачи сайта

Дано N целых чисел A1, A2, ..., AN. Требуется найти количество различных значений сумм вида k1A1 + k2A2 + ... +
kNAN.

Входные данные
Входной файл INPUT.TXT в первой строке содержит число N, во второй - A1, A2, ..., AN через пробел. Ограничения:
все числа целые, 1 ≤ N ≤ 500, 0 ≤ Ai ≤100, 0 ≤ ki ≤ 1.

Выходные данные
В выходной файл OUTPUT.TXT выведите количество различных значений сумм.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 5
1
1 1 2
3 7
2
1 3 2
5 10
3
49 100 98 49 0

Задача №379
Игра с датой
(Время: 1 сек. Память: 16 Мб Сложность: 54%)
Играют двое. Задаётся какая-то дата 2008 года. Каждый игрок на своём ходе называет более позднюю дату, увеличивая
на 1 или 2 либо день в месяце, либо месяц, но не то и другое сразу. При этом сочетание дня и месяца должно оставаться
датой. Игрок, назвавший 31 декабря, проигрывает. Оба играют наилучшим образом. Исходя из заданной даты вывести, кто
выиграет.

Входные данные
В первой строке входного файла INPUT.TXT находятся числа, обозначающие день и месяц. Месяц указывается от 1 до
12, день от 1 до числа дней в месяце, дата «31 декабря» отсутствует во входных данных.

Выходные данные
В выходной файл OUTPUT.TXT выведите 1, если выигрывает первый (начинающий) игрок, или 2 – в противном
случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 30 12 2
2 29 12 1
3 29 11 2

Задача №380
Площадь прямоугольников
(Время: 1 сек. Память: 16 Мб Сложность: 50%)
Дано N прямоугольников со сторонами, параллельными осям координат. Требуется определить площадь фигуры,
образованной объединением данных прямоугольников.

Входные данные
В первой строке входного файла INPUT.TXT находится число прямоугольников - N. Затем идут N строк, содержащих
по 4 числа: x1, y1, x2, y2 - координаты двух противоположных углов прямоугольника. Все координаты – целые числа, не
https://acmp.ru/index.asp?main=alltasks 200/591
2/29/2020 Все задачи сайта

превосходящие по абсолютной величине 10 000. (1 ≤ N ≤ 100)

Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число – площадь фигуры.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 36
1
1 1 7 7
2 7
2 1 1 3 3
2 2 4 4

Задача №381
Lines
(Время: 1 сек. Память: 16 Мб Сложность: 43%)
В таблице из N строк и N столбцов некоторые клетки заняты шариками, другие свободны. Выбран шарик, который
нужно переместить, и место, куда его нужно переместить. Выбранный шарик за один шаг перемещается в соседнюю по
горизонтали или вертикали свободную клетку. Требуется выяснить, возможно ли переместить шарик из начальной клетки
в заданную, и, если возможно, то найти путь из наименьшего количества шагов.

Входные данные
В первой строке входного файла INPUT.TXT находится число N, в следующих N строках - по N символов. Символом
точки обозначена свободная клетка, английской заглавной O - шарик, @ - исходное положение шарика, который должен
двигаться, английской заглавной X - конечное положение шарика. (2 ≤ N ≤ 40)

Выходные данные
В выходной файл OUTPUT.TXT выведите в первой строке Yes, если движение возможно, или No, если нет. Если
движение возможно, то далее следует вывести N строк по N символов - как и на вводе, но букву X, а также все точки по
пути следует заменить плюсами. Если решений несколько, выведите любое.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 Yes
....X +++++
.OOOO +OOOO
1
..... +++++
OOOO. OOOO+
@.... @++++
5 No
..X..
.....
2
OOOOO
.....
..@..

Задача №382
Покраска лабиринта
(Время: 1 сек. Память: 16 Мб Сложность: 46%)
Лабиринт представляет собой квадрат, состоящий из N×N сегментов. Каждый из сегментов может быть либо пустым,
либо заполненным монолитной каменной стеной. Гарантируется, что левый верхний и правый нижний сегменты пусты.
Лабиринт обнесён сверху, снизу, слева и справа стенами, оставляющими свободными только левый верхний и правый

https://acmp.ru/index.asp?main=alltasks 201/591
2/29/2020 Все задачи сайта

нижний углы. Директор лабиринта решил покрасить стены лабиринта,


видимые изнутри (см. рисунок). Помогите ему рассчитать количество краски,
необходимой для этого.

Входные данные
В первой строке входного файла INPUT.TXT находится число N, затем
идут N строк по N символов: точка обозначает пустой сегмент, решётка -
сегмент со стеной. Размер сегментов – 5х5 метров, высота стен – 5 метров. (3 ≤
N ≤ 50)

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число - площадь видимой
части внутренних стен лабиринта в квадратных метрах.

Пример
№ INPUT.TXT OUTPUT.TXT
5 550
.....
...##
1
..#..
..###
.....

Задача №383
Красивые числа - 2
(Время: 1 сек. Память: 16 Мб Сложность: 26%)
Будем называть число красивым, если сумма его цифр в десятичной системе счисления делится на количество цифр в
нем (в десятичной системе счисления).
Необходимо найти N-ое в порядке возрастания красивое число.

Входные данные
Входной файл INPUT.TXT содержит целое число N. (1 ≤ N ≤ 100 000)

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1
2 15 20

Задача №384
Числа Фибоначчи - 3
(Время: 1 сек. Память: 16 Мб Сложность: 52%)
Последовательностью Фибоначчи называется последовательность чисел F0 = 0, F1 = 1, … , Fk = Fk-1 + Fk-2 (k > 1).
Требуется найти наибольший общий делитель двух чисел Фибоначчи.

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

Во входном файле INPUT.TXT записаны два целых числа i и j (1 ≤ i, j ≤ 106).

https://acmp.ru/index.asp?main=alltasks 202/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT выведите остаток от деления НОД чисел Fi и Fj на 109.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 5 10 5
2 2 4 1

Задача №385
Развлечения с измерителем
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Дима обнаружил у папы на столе специальный чертежный прибор, похожий на циркуль-измеритель. Измеритель
отличается от обычного циркуля тем, что в обеих его ножках находятся иголки (у обычного циркуля в одной ножке
находится иголка, а в другой – грифель).
Кроме измерителя Дима нашел на столе клетчатый лист бумаги, в углах некоторых клеток которого были нарисованы
точки. Так как измеритель служит для измерения расстояний, то Дима решил измерить все попарные расстояния между
всеми точками на листе бумаги.
Ваша задача - написать программу, которая по координатам точек определит, сколько различных расстояний
встречается среди расстояний, которые измерил Дима.

Входные данные
Первая строка входного файла INPUT.TXT содержит число n – количество точек (2 ≤ n ≤ 50). Следующие n строк
содержат по два целых числа – координаты точек. Координаты не превышают 104 по абсолютной величине.

Выходные данные
На первой строке выходного файла OUTPUT.TXT выведите k – количество различных расстояний, которые измерил
Дима. Следующие k строк должны содержать по одному вещественному числу – сами расстояния. Расстояния должны
быть выведены в возрастающем порядке. Каждое число должно быть выведено с точностью не менее чем 10-9.

Пример
№ INPUT.TXT OUTPUT.TXT
4 2
0 0 1.0
1 1 1 1.414213562373
1 0
0 1

Задача №386
Генерация тестов
(Время: 1 сек. Память: 16 Мб Сложность: 37%)
При подготовке задач для олимпиад по информатике и программированию часто возникает необходимость подготовки
тестов. Поскольку зачастую количество тестов достаточно велико, и каждый из них может содержать множество данных,
то генерацию тестов разумно автоматизировать.
В геометрических задачах часто требуется сгенерировать n точек на плоскости так, чтобы никакие три из них не
лежали на одной прямой. В этом и состоит ваша задача. Напишите программу, которая по числу N построит множество из
N точек, обладающее указанным свойством.

Входные данные
Входной файл INPUT.TXT содержит целое число N (1 ≤ N ≤ 300).

https://acmp.ru/index.asp?main=alltasks 203/591
2/29/2020 Все задачи сайта

Выходные данные
Если искомое множество точек можно построить, то выведите в выходной файл OUTPUT.TXT в первой строке слово
YES, а далее N строк, каждая из которых должна содержать два числа – координаты соответствующей точки. Среди точек
не должно быть совпадающих. Все координаты должны быть целыми числами, не превосходящими 10000 по абсолютному
значению. Если искомое множество точек нельзя построить, выведите в выходной файл строку NO.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 YES
1
0 0
4 YES
0 0
2 0 1
1 0
1 1

Задача №387
Левая рекурсия
(Время: 1 сек. Память: 16 Мб Сложность: 20%)
В теории формальных грамматик и автоматов (ТФГиА) важную роль играют так называемые контекстно-свободные
грамматики (КС-грамматики). КС-грамматикой будем называть четверку, состоящую из множества N нетерминальных
символов, множества T терминальных символов, множества P правил (продукций) и начального символа S,
принадлежащего множеству N.
Каждая продукция p из P имеет форму A –> a, где A нетерминальный символ (A из N), а a – строка, состоящая из
терминальных и нетерминальных символов. Процесс вывода слова начинается со строки, содержащей только начальный
символ S. После этого на каждом шаге один из нетерминальных символов, входящих в текущую строку, заменяется на
правую часть одной из продукций, в которой он является левой частью. Если после такой операции получается строка,
содержащая только терминальные символы, то процесс вывода заканчивается.
Во многих теоретических задачах удобно рассматривать так называемые нормальные формы грамматик. Процесс
приведения грамматики к нормальной форме часто начинается с устранения левой рекурсии. В этой задаче мы будем
рассматривать только ее частный случай, называемый непосредственной левой рекурсией. Говорят, что правило вывода A
–> R содержит непосредственную левую рекурсию, если первым символом строки R является A.
Задана КС-грамматика. Требуется найти количество правил, содержащих непосредственную левую рекурсию.

Входные данные
Первая строка входного файла INPUT.TXT содержит количество n (1 ≤ n ≤ 1000) правил в грамматике. Каждая из
последующих n строк содержит по одному правилу. Нетерминальные символы обозначаются заглавными буквами
английского алфавита, терминальные - строчными. Левая часть продукции отделяется от правой символами –>. Правая
часть продукции имеет длину от 1 до 30 символов.

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Пример
№ INPUT.TXT OUTPUT.TXT
3 2
S->Sabc
1
S->A
A->AA

Задача №388
Седловые точки
https://acmp.ru/index.asp?main=alltasks 204/591
2/29/2020 Все задачи сайта

(Время: 1 сек. Память: 16 Мб Сложность: 28%)


Задана матрица, содержащая N строк и M столбцов. Седловой точкой этой матрицы назовем элемент, который
одновременно является минимумом в своей строке и максимумом в своем столбце.
Найдите количество седловых точек заданной матрицы.

Входные данные
Входной файл INPUT.TXT в первой строке содержит целые числа N и M (1 ≤ N, M ≤ 750). Далее следуют N строк по
M чисел в каждой. Элементы матрицы - целые числа, не превосходящие 1000 по абсолютной величине. Числа могут быть
разделены несколькими пробелами.

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 2 4
1 0 0
0 0
2 2 1
2 1 2
3 4

Задача №389
К коду Грея
(Время: 1 сек. Память: 16 Мб Сложность: 50%)
Рассмотрим циклическую последовательность попарно различных чисел {a0, a1, … , a2n-1}, 0 ≤ ai ≤ 2n-1. Назовем эту
последовательность кодом Грея, если любой ai отличается от левого соседа ai-1 и правого соседа ai+1 только в одной цифре
в двоичной записи этих чисел. Для a0 левым соседом считается a2n-1, а для a2n-1 правым соседом считается a0.
Вася хочет запрограммировать игру-головоломку, которая будет позволять пользователю менять местами два любых
числа ai и aj . Задача игрока – получить код Грея. Модуль, отвечающий за перестановку чисел, Вася берет на себя. А вот
Ваша задача – написать программу, которая будет определять после каждой перестановки – является ли
последовательность кодом Грея.

Входные данные
В первой строке входного файла INPUT.TXT содержится число n. В следующей строке перечислены попарно
различные числа ai. В третьей строке записано число m – количество перестановок, сделанных пользователем. В
следующих m строках перечислены числа (i, j) – индексы переставляемых элементов. Ограничения: 1 ≤ n ≤ 16; 1 ≤ m ≤ 105;
i≠j, 0 ≤ i, j < 2n.

Выходные данные
В выходной файл OUTPUT.TXT запишите m строчек – в i-той строке запишите «Yes», если после i-той перестановки
последовательность стала кодом Грея и «No» в противном случае.

Пример
№ INPUT.TXT OUTPUT.TXT
2 No
0 1 3 2 Yes
1 2
1 2
2 1

https://acmp.ru/index.asp?main=alltasks 205/591
2/29/2020 Все задачи сайта

Задача №390
Треугольная область
(Время: 1 сек. Память: 16 Мб Сложность: 41%)
Одним из субъектов Флатландии является Треугольная область. Как следует из ее названия, она имеет форму
треугольника, вершины которого находятся в точках с координатами (x1,y1), (x2,y2), (x3,y3). Административный центр этой
области находится в точке с координатами (xc,yc), которая лежит строго внутри указанного треугольника.
Для оценки транспортного и логистического потенциала области, ее руководству понадобилось узнать расстояние от
административного центра области до ее границы. Напишите программу, которая вычислит это расстояние.

Входные данные
Первая строка входного файла INPUT.TXT содержит шесть целых чисел – x1, y1, x2, y2, x3, y3. Вторая строка входного
файла содержит два целых числа – xc и yc. Все числа во входном файле не превосходят 10000 по абсолютной величине. В
заданном треугольнике нет тупых углов.

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

В выходной файл OUTPUT.TXT выведите искомое расстояние до границы с точностью не менее 10-6.

Примеры
№ INPUT.TXT OUTPUT.TXT
0 0 1 2 2 0 0.4472135
1
1 1
0 0 0 3 3 0 0.7071067
2
1 1

Задача №391
Взлом хеш-функции
(Время: 1 сек. Память: 16 Мб Сложность: 35%)
В некоторых задачах защиты информации используются так называемые хеш-функции. Одним из важнейших классов
хеш-функций являются так называемые полиномиальные хеш-функции.
Пусть дана строка S = s1s2 ... sl, состоящая из цифр от 0 до 9. Тогда значение полиномиальной хеш-функции p(S, x, m)
вычисляется следующим образом:

(a mod b обозначает остаток от деления числа a на число b). Например, пусть S = 0123, тогда p(S, 2, 5) = (0 ∙ 1 + 1 ∙ 2 +
2 ∙ 4 + 3 ∙ 8) mod 5 = 4.
Одним из способов применения хеш-функций является хранение паролей. Часто бывает так, что пароли приходится
хранить в незащищенной таблице базы данных, поэтому вместо них хранят хеш-функции от них. При проверке пароля
вычисляется хеш-функция от введенной строки и сравнивается со значением, хранящимся в таблице.
Ваша задача состоит в том, чтобы по заданным числам x, m, L и v найти строку S из цифр от 0 до 9 длины L, значение
полиномиальной хеш-функции p(S, x, m) равно v.

Входные данные
Входной файл INPUT.TXT содержит четыре целых числа: x (x – простое число, 5 ≤ x ≤ 100), m (m является степенью
двойки, 1 ≤ m ≤ 256), L (10 ≤ L ≤ 100) и v (0 ≤ v ≤ m-1).

Выходные данные
В выходной файл OUTPUT.TXT выведите искомую строку или NO SOLUTION, если такой строки не существует.
Если решений несколько, выведите любое.

https://acmp.ru/index.asp?main=alltasks 206/591
2/29/2020 Все задачи сайта

Пример
№ INPUT.TXT OUTPUT.TXT
1 5 16 10 9 0422207956

Задача №392
Сдвиг перестановки
(Время: 1 сек. Память: 16 Мб Сложность: 24%)
Перестановкой порядка n называется последовательность из попарно различных целых положительных чисел p1, p2,
... , pn, где каждое 1 ≤ pi ≤ n. Будем говорить, что перестановка q1, q2, ... , qn лексикографически меньше перестановки p1,
p2, . . . , pn, если существует такое i, что qi < pi, а для любого j < i pj = qj .
Циклическим сдвигом на k перестановки p1, p2, ... , pn называется последовательность, pk+1, pk+2, ... , pn, p1, ... , pk.
Отметим, что любой циклический сдвиг перестановки также является перестановкой.
Ваша задача состоит в том, чтобы найти наименьший лексикографически циклический сдвиг заданной перестановки.

Входные данные
Первая строка входного файла INPUT.TXT содержит порядок n (1 ≤ n ≤ 105) заданной перестановки. Вторая строка
содержит числа p1, p2, ... , pn, отделенные друг от друга пробелами.

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

Пример
№ INPUT.TXT OUTPUT.TXT
3 1 3 2
1
3 2 1

Задача №393
Плейлист
(Время: 1 сек. Память: 16 Мб Сложность: 48%)
Антон – большой любитель музыки. Но в разные моменты ему нравится разная музыка. Однажды он решил составить
рейтинг своих песен, причем считать его так – если песня дослушана до конца, то ее рейтинг увеличивается на единицу,
если же он так и не дослушал ее, переключив на следующую, то уменьшается на единицу. Отметим, что вследствие этого
рейтинг может стать отрицательным.
Он попросил Вас написать ему программу, которая подсчитывала бы такой рейтинг. Для этого он записал в каком
порядке прослушивались песни и в какие моменты времени он переключал песню на следующую. Изначально рейтинги
всех песен равны нулю.

Входные данные
Первая строка входного файла INPUT.TXT содержит одно число n (1 ≤ n ≤ 1000) – количество песен у Антона. В
следующих n строках следуют описания песен – название песни, состоящее не более, чем из 50 маленьких английских
букв, и длина песни в секундах, разделенные пробелом. Каждая песня длится положительное число секунд и не более 30
минут. (n + 2)-я строка содержит два числа m, k (0 ≤ k ≤ m ≤ 1000) – количество прослушанных песен и количество
переключений на следующую. В следующих m строках следуют названия прослушанных песен в порядке их
прослушивания (все эти песни из списка). И, наконец, в последней строке – k целых неотрицательных чисел –
последовательные (в неубывающем порядке) времена переключения на следующую песню (гарантируется, что она всегда
существует), отсчитываемые в секундах от начала прослушивания первой. Считается, что если Антон переключил песню в
момент окончания какой-нибудь, то он пропускает уже следующую.

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

https://acmp.ru/index.asp?main=alltasks 207/591
2/29/2020 Все задачи сайта

В выходной файл OUTPUT.TXT выведите n чисел – рейтинги песен в том порядке, в котором они даны во входном
файле.

Пример
№ INPUT.TXT OUTPUT.TXT
2 1 0
songa 10
songb 20
5 2
songa
1
songb
songb
songa
songa
40 55

Задача №394
Апельсины
(Время: 1 сек. Память: 16 Мб Сложность: 26%)
Катя решила пригласить к себе в гости n друзей. Так как ее друзья очень любят фрукты, то в качестве угощения для
них она купила m одинаковых апельсинов.
Она хочет разрезать каждый апельсин на одинаковое число равных долек так, чтобы их можно было распределить
между гостями (сама Катя апельсины есть не будет), и всем гостям досталось поровну долек.
Напишите программу, которая вычисляет минимальное количество долек, на которое необходимо разрезать каждый
апельсин, чтобы были выполнены указанные выше условия.

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

Входной файл INPUT.TXT содержит два положительных целых числа n и m (1 ≤ n, m ≤ 109).

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 5 2
2 2 4 1

Задача №395
Произведение цифр - 2
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Найдите количество чисел из отрезка [L, R], которые делятся на произведение своих цифр.

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

Входной файл INPUT.TXT содержит два целых числа L и R. (1 ≤ L ≤ R ≤ 109, |R-L| ≤ 105)

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Пример
№ INPUT.TXT OUTPUT.TXT
https://acmp.ru/index.asp?main=alltasks 208/591
2/29/2020 Все задачи сайта
1 1 12 11

Задача №396
Точки и отрезки
(Время: 2 сек. Память: 16 Мб Сложность: 62%)
Дано N отрезков на числовой прямой и M точек на этой же прямой. Для каждой из данных точек определите, скольким
отрезкам она принадлежит. Точка x считается принадлежащей отрезку с концами a и b, если выполняется двойное
неравенство min(a, b) ≤ x ≤ max(a, b).

Входные данные
Первая строка входного файла INPUT.TXT содержит два целых числа N – число отрезков и M – число точек (1 ≤ N, M
≤ 105). В следующих N строках по два целых числа ai и bi – координаты концов соответствующего отрезка. В последней
строке M целых чисел – координаты точек. Все числа во входном файле не превосходят по модулю 109.

Выходные данные
В выходной файл OUTPUT.TXT выведите M чисел – для каждой точки количество отрезков, в которых она
содержится.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 2 2 0
0 5
1 -3 2
7 10
1 6
1 3 0 0 1
2 -10 10
-100 100 0

Задача №397
Качество строки
(Время: 1 сек. Память: 16 Мб Сложность: 52%)
Назовем качеством строки разность между максимальным и минимальным номерами в алфавите букв, входящих в
строку. Например, качество строки ab равно 2 - 1 = 1, а строки abcz равно 26 - 1 = 25.
Дана строка S. Необходимо найти непустую подстроку этой строки, обладающую максимальным качеством, а из всех
таких – минимальную по длине.

Входные данные
Входной файл INPUT.TXT содержит непустую строку S, состоящую из строчных букв английского алфавита. Ее длина
не превосходит 2∙105 символов.

Выходные данные
В выходной файл OUTPUT.TXT выведите искомую подстроку. Если вариантов ответа несколько, выведите любой.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 aba ab
2 zzz z

https://acmp.ru/index.asp?main=alltasks 209/591
2/29/2020 Все задачи сайта

Задача №398
Сумма - 2
(Время: 1 сек. Память: 16 Мб Сложность: 30%)
Задано натуральное число x. Найдите число способов представить его в виде суммы четырех натуральных чисел: x = a
+ b + c + d, где a ≤ b ≤ c ≤ d.

Входные данные
Входной файл INPUT.TXT содержит целое число x (1 ≤ x ≤ 1500).

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 0
2 5 1

Задача №399
Жук
(Время: 1 сек. Память: 16 Мб Сложность: 30%)
Петя нашел в Интернете по адресу http://buglab.ru игру-головоломку "Жук", в которой от участников требуется
построить для жука лабиринт таким образом, чтобы жук как можно дольше искал выход.
Жук всегда начинает свое движение с левого верхнего угла, а выход всегда находится в правом нижнем. Жук движется
не оптимально, а следующим образом: он идет туда, где еще не был, либо был там реже. Т.е. проходя каждую клетку
лабиринта, жук запоминает: сколько раз он был в этой клетке и при обдумывании направления своего движения в какой то
конкретный момент он смотрит: сколько раз он был в клетке снизу, сколько справа, сколько слева и сколько сверху и
движется туда, где он был меньше раз. Если таких направлений несколько и одно из них совпадает с текущим
направлением движения, то он не меняет направления, иначе он движется согласно следующим приоритетам: вниз,
направо, вверх, налево. Т.е. если минимальное число посещений сразу справа и слева (а двигался он при этом вверх или
вниз), то жук идет направо, т.к. у "направо" приоритет выше. Следует заметить, что двигаясь по данному алгоритму жук
всегда достигнет выхода в том случае, когда выход существует.
Изучив алгоритм движения жука Петя хочет написать программу, которая по заданному лабиринту определит
количество перемещений жука прежде, чем он достигнет выхода. Помогите Пете с реализацией данной программы!

Конструктор лабиринта

- кнопка запуска жука Ходы: 0

Входные данные
Входной файл INPUT.TXT в первой строке содержит разделенные пробелом целые числа N и M - количество строк и
столбцов в лабиринте (4 ≤ N, M ≤ 100). Далее следует N строк, содержащих данные лабиринта построчно. Каждая строка
содержит M символов - клетки лабиринта текущей строки, где символ "@" обозначает присутствие стены, а символ
пробела - пустое пространство. Гарантируется, что граница лабиринта окружена стеной. Предполагается, что жук начинает

https://acmp.ru/index.asp?main=alltasks 210/591
2/29/2020 Все задачи сайта

свое движение из координаты (2, 2) и заканчивает в координате (M-1, N-1), подразумевается, что в этих координатах нет
стен. Гарантируется, что если выход из лабиринта существует, то жук сможет выйти из него, сделав не более 107 шагов.

Выходные данные
В выходной файл OUTPUT.TXT выведите количество движений жука, если спасительный маршрут для жука
существует, и -1 в противном случае.

Примеры
¹ INPUT.TXT OUTPUT.TXT
6 6 20
@@@@@@
@ @
1 @ @
@ @ @@
@ @ @
@@@@@@
8 30 630
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ @ @ @@@@ @ @ @@@@ @@ @
@ @ @@ @ @ @ @ @ @ @
2 @ @ @ @ @@ @@ @@ @@
@ @ @ @@
@ @ @@ @ @ @@@ @ @ @ @
@ @ @ @ @ @ @@ @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
4 4 -1
@@@@
3 @ @@
@@ @
@@@@

Задача №400
Коробка
(Время: 1 сек. Память: 16 Мб Сложность: 37%)
Иван работает на заводе, который производит тяжелую технику. Его работа очень проста – он собирает коробки и
упаковывает в них технику для заказчиков. Каждая такая коробка представляет собой параллелепипед. Для сборки коробки
Иван использует шесть прямоугольных деревянных плиток. Каждая плита представляет собой одну из сторон коробки.

Петр подбирает плитки для Ивана. Петр недостаточно умен и поэтому часто допускает ошибки – он приносит Ивану
такие плитки, из которых невозможно собрать коробку. Но Иван не доверяет Петру. Поэтому он всегда тратит массу
времени на то, чтобы объяснить Петру то, где он допустил ошибку.
К счастью, Петр обожает все, что связано с компьютерами и верит в то, что компьютеры никогда не ошибаются. Иван
решил, что можно использовать это в их работе. Иван попросил Вас написать программу, которая по заданным размерам
шести плиток скажет: возможно ли построить из них коробку.

Входные данные
Входной файл INPUT.TXT содержит шесть строк, каждая из которых содержит два натуральных числа w и h (1 ≤ w, h
≤ 10 000) – ширина и высота плиты в миллиметрах.

https://acmp.ru/index.asp?main=alltasks 211/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT выведите «POSSIBLE», если возможно собрать коробку из данных плит, и
«IMPOSSIBLE» в противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
1345 2584 POSSIBLE
2584 683
2584 1345
1
683 1345
683 1345
2584 683
1234 4567 IMPOSSIBLE
1234 4567
4567 4321
2
4322 4567
4321 1234
4321 1234

Задача №401
Шары и коробки
(Время: 2 сек. Память: 16 Мб Сложность: 52%)
У вас имеется N выстроенных в ряд коробок, A красных и B синих шаров. Все красные шары (аналогично и синие)
идентичны. Вы можете класть шары в коробки. Разрешается размещать в коробках шары как одного, так и двух видов
одновременно. Так же разрешается оставлять некоторые из коробок пустыми. Не обязательно класть все шары в коробки.
Требуется написать программу, которая определяет количество различных способов, которыми возможно заполнить
коробки шарами.

Входные данные
Входной файл INPUT.TXT содержит целые числа N, A, B. (1 ≤ N ≤ 20, 0 ≤ A, B ≤ 20)

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1 1 4
2 2 1 1 9

Задача №402
Коттеджный поселок
(Время: 3 сек. Память: 16 Мб Сложность: 75%)
Поблизости от столицы Флатландии одна компания решила построить коттеджный поселок. Строительная компания,
которая занимается возведением коттеджей, решила раскрасить некоторые коттеджи в розовый цвет, а остальные – в
голубой. Но они не могут решить, какой коттедж раскрасить в какой цвет.
Директор компании утверждает, что раскраска симпатичная, если есть хотя бы один розовый коттедж, хотя бы один
голубой коттедж, и можно провести такую прямую, что все розовые коттеджи окажутся с одной стороны от нее, а все
голубые – с другой стороны (при этом на самой прямой коттеджей быть не должно). На это главный дизайнер возразил,
что есть несколько способов сделать симпатичную раскраску.
Помогите им определить, сколько существует различных симпатичных раскрасок.

https://acmp.ru/index.asp?main=alltasks 212/591
2/29/2020 Все задачи сайта

Входные данные
Первая строка входного файла INPUT.TXT содержит число N – количество коттеджей (1 ≤ N ≤ 300). Следующие N
строк содержат координаты коттеджей, каждая строка содержит два целых числа xi и yi (-104 ≤ xi, yi ≤ 104).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – ответ на задачу.

Пример
№ INPUT.TXT OUTPUT.TXT
4 12
0 0
1 1 0
1 1
0 1

Пояснение к примеру

Задача №403
Обмен валюты
(Время: 1 сек. Память: 16 Мб Сложность: 70%)
Петя работает в обменном пункте во Флатландии. Недавно Петя получил от начальства набор цифр для отображения
обменного курса. К сожалению, набор содержит всего по две копии каждой цифры. Теперь Петя хочет узнать, сколько
различных обменных курсов он сможет отобразить.
Петя обменивает флатландские доллары на крайландские тугрики. Петя уверен, что курс обмена будет целым числом,
которое находится в диапазоне от L до R, включительно.

Входные данные
Входной файл INPUT.TXT содержит два целых числа L и R (1 ≤ L ≤ R ≤ 1018).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число - количество обменных курсов, которые Петя может
отобразить с использованием полученного набора.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1000 990
2 1 100 100

Задача №404
Игра с камнями
(Время: 2 сек. Память: 16 Мб Сложность: 63%)
Правила игры: исходно на столе располагается кучка, содержащая N камней. Два игрока по очереди берут камни из
кучки. Если перед ходом игрока кучка содержит K камней, игрок может взять из нее от 1 до [sqrt(K)] (целую часть от

https://acmp.ru/index.asp?main=alltasks 213/591
2/29/2020 Все задачи сайта

квадратного корня из K) камней, включительно. Например, если в кучке 10 камней, разрешается взять 1, 2 или 3 камня.
Если в кучке не осталось камней, то игрок, который должен сделать ход, проигрывает.
Требуется определить: сможет ли первый игрок выиграть, если оба игрока будут придерживаться оптимальной
стратегии.

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

Входной файл INPUT.TXT содержит натуральное число N – число камней в кучке (N ≤ 1012).

Выходные данные
В выходной файл OUTPUT.TXT выведите WIN, если первый игрок может выиграть вне зависимости от действий
второго игрока, либо LOSE, если второй игрок может заставить первого игрока проиграть.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 WIN
2 5 LOSE

Задача №405
Туристическое агентство
(Время: 5 сек. Память: 32 Мб Сложность: 80%)
Антон работает в межгалактическом туристическом агентстве. Довольно часто ему приходится прокладывать путь с
одной планеты на другую с использованием существующих рейсов космических кораблей. К сожалению, количество
рейсов невелико, поэтому пассажирам часто приходится пересаживаться на промежуточных планетах.
Антон заметил, что некоторые планеты используются в качестве промежуточных чаще, чем другие. Он решил
провести исследование – для каждой планеты A он хотел бы узнать, сколько существует пар различных планет (B,C),
таких что любой путь с планеты B на планету C проходит через планету A.
Помогите Антону!

Входные данные
Первая строка входного файла INPUT.TXT содержит два целых числа: N и M – количество планет и количество рейсов
космических кораблей, соответственно (2 ≤ N ≤ 20 000, 1 ≤ M ≤ 200 000). Следующие M строк описывают рейсы
космических кораблей. Каждый рейс связывает две планеты, и им можно воспользоваться в любом из двух направлений. С
любой планеты можно добраться до любой другой.

Выходные данные
В выходной файл OUTPUT.TXT выведите N целых чисел – для каждой планеты A выведите количество пар
различных планет, таких что любой путь с одной планеты на другую проходит через A.

Пример
№ INPUT.TXT OUTPUT.TXT
7 9 18
1 2 6
1 3 6
1 4 6
1 5 6
1
1 6 6
1 7 6
2 3
4 5
6 7

https://acmp.ru/index.asp?main=alltasks 214/591
2/29/2020 Все задачи сайта

Задача №406
Криптография
(Время: 1 сек. Память: 16 Мб Сложность: 48%)
Подстановочным называется шифр, при использовании которого каждая буква сообщения заменяется какой-нибудь
другой буквой, а все пробелы и знаки препинания удаляются. При этом для сохранения возможности однозначной
расшифровки никакие две буквы не превращаются в одну.
Зная тот факт, что частоты появления в осмысленном тексте букв различаются, можно с хорошей точностью
установить, каким образом были зашифрованы буквы. Среди всех возможных способов перестановки букв следует
выбрать такой, для которого минимально значение величины

∑c|ec – pc|
Здесь через ec и pc обозначены частоты символа c, рассчитанные для среднего текста и для записки, получающейся из
зашифрованного текста после применения данной перестановки.
Требуется по заданным частотам написать программу, расшифровывающую закодированное послание.

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

В первой строке входного файла INPUT.TXT записаны два целых числа – N и M (1 ≤ N ≤ 26, 1 ≤ M ≤ 105). Следующие
N строк задают буквы, которые, по сведениям Кристины, могли встречаться в исходном тексте. Соответствующая буква ci
– первый символ строки, через пробел от него записана частота этой буквы pi, заданная с 4 знаками после десятичной
точки. Все pi неотрицательны, а их сумма равна 1. Последняя строка содержит M символов – текст, который необходимо
расшифровать. Исходный и зашифрованный текст состоит из строчных английских букв.

Выходные данные
В выходной файл OUTPUT.TXT выведите N символов по одному на строке, которые, если верить описанному методу,
должны быть сопоставлены символам из входного файла. Если оптимальных решений несколько, выведите любое из них.

Пример
№ INPUT.TXT OUTPUT.TXT
3 5 r
t 0.1667 e
1 r 0.5000 c
q 0.3333
ecere

Задача №407
Сдача
(Время: 1 сек. Память: 16 Мб Сложность: 44%)
Когда Миша и Маша покупали подарок, возникла интересная ситуация. У них была в распоряжении только одна
большая купюра, а у продавца – некоторое количество мелочи. Дело происходило утром, поэтому продавцу нужно было
экономить мелочь, и он хотел отдать сдачу минимальным количеством монет. Подумав некоторое время, они точно
определили, с каким количеством монет продавцу придется расстаться.
А вы сможете решить такую задачу?

Входные данные
В первой строке входного файла INPUT.TXT записано число N (1 ≤ N ≤ 10) – количество различных номиналов монет,
содержащихся в кассе. Можно считать, что количество монет каждого номинала достаточно. На следующей строке
содержится N целых чисел ai (0 < ai ≤ 2000) – номиналы монет. В третьей строке записано одно число K (1 ≤ K ≤ 106) –
сумма, которую нужно набрать.

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

https://acmp.ru/index.asp?main=alltasks 215/591
2/29/2020 Все задачи сайта

В выходной файл OUTPUT.TXT выведите минимальное количество монет, которое придется отдать продавцу, или -1,
если продавец вообще не сможет дать им сдачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 3
1 1 5 7
19
5 -1
2 7 8 9 10 11
13

Задача №408
Письмо
(Время: 1 сек. Память: 16 Мб Сложность: 31%)
Вася хочет отправить Пете письмо на листе шириной K. Он хочет распечатать на нем текст, состоящий из N строк.
Необходимо изменить количество ведущих и концевых пробелов так, чтобы строки оказались посередине листа, и их
длина стала равна K. Вася считает, что строка находится посередине листа, если количество ведущих пробелов не
превосходит количества концевых пробелов и, если при сдвиге строки на один символ вправо (т.е. при добавлении одного
пробела в начало строки), указанное свойство нарушается.

Входные данные
Первая строка входного файла INPUT.TXT содержит два целых числа K и N (1 ≤ K ≤ 100, 1 ≤ N ≤ 1000). Следующие N
строк содержат текст Васиного письма в однобайтовой кодировке (символы с кодами от 32 до 255). Каждая строка письма
содержит хотя бы один символ, отличный от пробела. Длина каждой строки во входном файле не превосходит 100.

Выходные данные
Если Вася сможет написать письмо, удовлетворяющее всем его требованиям, то в выходной файл OUTPUT.TXT
выведите отформатированный текст письма в той же кодировке, иначе, выведите фразу “Impossible.” (без кавычек).

Примеры
№ INPUT.TXT OUTPUT.TXT
20 3 ++++++Привет!+++++++
++Привет!++ ++++Напиши+мне.+++++
1
+Напиши+мне.++ ++++++Пока+=)+++++++
++++Пока+=)+
5 1 Impossible.
2
Привет.
В приведенных примерах для большей наглядности пробелы заменены на плюсы!

Задача №409
Железная дорога
(Время: 1 сек. Память: 16 Мб Сложность: 26%)
При строительстве новой железной дороги возникли проблемы. Дорога пролегает по холмистой местности, однако
сами пути должны идти строго горизонтально. Поэтому руководство строительной компании приняло решение выровнять
поверхность земли на этом участке. Главная проблема состоит в том, что привозить или вывозить землю на стройку стоит
10000$ за кубический метр. Поскольку бюджет железной дороги невелик, этого нельзя себе позволить.
Поэтому главный инженер принял решение выровнять поверхность, используя только землю, из которой состоят
холмы. Теперь самая сложная задача состоит в том, чтобы выяснить высоту над уровнем моря, на которой будет пролегать
дорога. Это ответственное задание было поручено Вам.
Через каждый метр от начала участка была измерена высота над уровнем моря. Напишите программу, которая по
данным измерений рассчитывает искомую высоту.

https://acmp.ru/index.asp?main=alltasks 216/591
2/29/2020 Все задачи сайта

Входные данные
Первая строка входного файла INPUT.TXT содержит количество N (1 < N ≤ 30000) точек, в которых была замерена
высота. Вторая строка содержит результаты замеров – i-ое число строки содержит высоту над уровнем моря точки,
находящейся на расстоянии (i-1) метр от начала участка. Все высоты – целые неотрицательные числа, не превосходящие
10000. Считайте, что между соседними точками измерений земная поверхность строго прямолинейна.

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу с точностью, не меньшей 10-5.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 0.6666666667
1
0 1 1 0
5 2.0000000000
2
2 2 2 2 2

Задача №410
Цифровое колдовство
(Время: 1 сек. Память: 16 Мб Сложность: 75%)
В современном мире все становится цифровым. Шаманы в одной сказочной северной стране тоже стараются не
отставать от жизни. Последние изыскания показали, что в качестве материальных компонентов для колдовства с большой
эффективностью можно использовать длинные веревки, сплетенные из моржовых усов. Каждая веревка кодирует
магическое целое число следующим образом: сначала она определенным образом делится на части, соответствующие
цифрам магического числа, в каждой из которых можно завязать от нуля до девяти узелков (глобализация вынуждает
шаманов использовать обычную десятичную систему счисления). Конечно, при этом для задания очень больших чисел
могут понадобиться длинные веревки. Можно надеяться, что вводная часть вам ясна. Шаман племени X наслал порчу на
племя Y.
Шаману племени Y удалось выяснить, какое магическое число N было использовано при проведении страшного
ритуала. Теперь ему нужно создать веревку с таким числом K, чтобы N + K делилось на фундаментальную магическую
константу M. Необходимо сделать это как можно быстрее, поэтому он хочет выполнить задачу, завязав наименьшее число
узелков, даже если для этого придется взять самую длинную веревку из потайного хранилища.
Поможете ли вы спасти племя Y (а в след за ним, может быть, и весь мир) от ужасного шамана племени X?

Входные данные
Во входном файле INPUT.TXT записаны два целых числа – N и M. Ограничения: 0 ≤ N ≤ 1000, 1 < M ≤ 1000.

Выходные данные
В выходной файл OUTPUT.TXT выведите целое неотрицательное число K – ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 5 8 11
2 6 15 24

Задача №411
Квадратное уравнение
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Сложно найти человека, который любит решать однообразные задачки по математике. В последнее время школьникам
стало легче, ведь с появлением компьютеров почти в каждой квартире стало существенно проще проверять себя.

https://acmp.ru/index.asp?main=alltasks 217/591
2/29/2020 Все задачи сайта

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

ax2 + bx + c = 0
при заданных коэффициентах a, b и c.

Входные данные
Единственная строка входного файла INPUT.TXT содержит три целых числа a, b и c, каждое из которых не
превосходит по модулю 30000. Числа разделяются пробелами.

Выходные данные
На первой строке выходного файла OUTPUT.TXT выведите число различных действительных корней заданного
уравнения. Затем выведите сами корни по одному на строке с ошибкой, не превосходящей 10-4. Если для заданных
коэффициентов корней бесконечно много, на единственной строке выходного файла выведите -1.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 -3 2 2
1 1.000000
2.000000
0 -1 6 1
2
6.000000

Задача №412
Ферзь и король
(Время: 1 сек. Память: 16 Мб Сложность: 32%)
Вася продолжает заниматься шахматами, и теперь он изучает различные окончания.
Оказалось, что компьютер очень удобно использовать для анализа позиций. Теперь Вася
просит вас написать программу, которая сможет определить, что черный король находится
под шахом.
Для начала Васе подойдет программа, которая анализирует игровую ситуацию с тем
предположением, что на доске находятся три фигуры - белые король и ферзь и черный
король. Черный король находится под шахом, если белый ферзь может за один ход попасть
на занимаемую им клетку. Шахматный ферзь может перемещаться по вертикали,
горизонтали или диагонали, но, в отличие от коня, не может “перепрыгивать” через другие
фигуры.

Входные данные
В единственной строке входного файла INPUT.TXT записаны обозначения трех
клеток шахматной доски, разделенные пробелами: положения белого короля, белого ферзя
и черного короля соответственно. При этом гарантируется, что черный и белый короли не
находятся на соседних клетках.

Выходные данные
В выходной файл OUTPUT.TXT выведите слово YES, если черный король находится
под шахом и NO, если шаха нет.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 d3 d5 d8 YES

https://acmp.ru/index.asp?main=alltasks 218/591
2/29/2020 Все задачи сайта
2 a1 a8 b3 NO

Задача №413
Военная база
(Время: 1 сек. Память: 16 Мб Сложность: 32%)
Со спутника-шпиона получено изображение в некотором волновом диапазоне сверхсекретной военной базы
предполагаемого противника. База расположена на Антарктиде, все постройки на ней высечены из кубов льда и имеют на
фотографии квадратную форму и не имеют общих фрагментов стен ненулевой длины (по всей видимости, это сделано в
целях маскировки от локаторов, работающих в инфракрасном спектре). Благодаря мастерству операторов оказалось, что
стены разных построек параллельны границам фотографии.
Для того, чтобы составить сверхсрочный отчет для командования, необходимо узнать, сколько зданий находятся на
базе. Напишите программу, которая это сделает.

Входные данные
В первой строке входного файла INPUT.TXT записаны числа N и M (1 ≤ M, N ≤ 500) – размеры фотографии в пикселях
по вертикали и по горизонтали. Следующие N строк содержат по M символов каждая: символ '.' соответствует пустому
месту, '#' – элементу постройки.

Выходные данные
В выходной файл OUTPUT.TXT выведите единственное число – количество построек на базе.

Пример
№ INPUT.TXT OUTPUT.TXT
8 6 2
......
...##.
...##.
1 ......
.###..
.###..
.###..
......

Задача №414
Расследование
(Время: 0,5 сек. Память: 16 Мб Сложность: 40%)
В городском управлении милиции одного прибрежного города ведется расследование крупного дела, в котором могут
быть замешаны сотрудники милиции. Было принято решение о тайной установке оборудования для просмотра
информации, поступающей через Интернет. Под подозрение попадают два отдела, но добиться выделения денег на
покупку двух комплектов оборудования не удалось. К счастью, внутренняя сеть управления имеет древовидную структуру,
то есть каждый отдел имеет выход в Интернет через какой-либо другой отдел. Исключение составляет отдел по борьбе с
компьютерными преступлениями, который имеет непосредственный доступ в Интернет по модемной линии.
Можно было бы установить оборудование для слежения прямо в этом отделе, но для предотвращения
злоупотреблений лучше найти такое расположение, чтобы нарушалась секретность как можно меньшего количества
лишних отделов.
Как наиболее опытному в подобных вопросах сотруднику, решение этой задачи поручили вам. Подчиненные уже
пронумеровали все отделы натуральными числами, начиная с 1, первый номер присвоен отделу по борьбе с
компьютерными преступлениями.

Входные данные
Первая строка входного файла INPUT.TXT содержит натуральное число N (N ≤ 30000) – количество отделов. Во
второй строке записаны номера двух отделов, за которыми необходимо установить слежение. На третьей строке находятся
n-1 натуральных чисел, i-е из них не больше i и задает номер отдела, к которому подсоединен отдел i + 1.

https://acmp.ru/index.asp?main=alltasks 219/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – номер отдела, в котором следует установить следящее
оборудование.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 3
1 3 4
1 1 3
8 1
2 3 6
1 1 2 4 5 1 1

Задача №415
Подпись
(Время: 1 сек. Память: 16 Мб Сложность: 44%)
Марсиане Миша и Маша решили вместе подобрать подарок на день рождения Кати. Когда они наконец нашли то, что
хотели, и упаковали предмет в красивую коробку, надо было решить, как подписать подарок. Друзья подумали, что
лучшим решением будет составить общую подпись так, чтобы в ней как подстроки содержались их имена.
Учтите, что на Марсе принято подписываться полными именами, а они у марсиан могут быть достаточно длинными.

Входные данные
Входной файл INPUT.TXT содержит две строки, в которых записаны полные имена друзей. Имена, как ни странно,
состоят из букв английского алфавита, из которых только первая – прописная. Длина имен от 1 до 1000 символов.

Выходные данные
В выходной файл OUTPUT.TXT выведите кратчайшую строку, в которой встречаются имена Миши и Маши
одновременно. Буквы, с которых имена начинаются в этой строке нужно сделать большими. Если существует несколько
решений, выведите то, которое меньше в алфавитном порядке (следует считать, что любая буква в верхнем регистре
меньше, чем любая буква в нижнем регистре).

Примеры
№ INPUT.TXT OUTPUT.TXT
Misha MashaMisha
1
Masha
Julya JuLyalya
2
Lyalya

Задача №416
Шахматный конь
(Время: 1 сек. Память: 16 Мб Сложность: 25%)
Вася решил научиться играть в шахматы. Он нашел книгу с записями партий и
внимательно их изучает. Может быть, когда-нибудь Вася станет великим шахматистом, но пока
он еще учится в начальной школе, и ему нелегко дается шахматная нотация. Больше всего
трудностей у Васи вызывают ходы шахматного коня. Он попросил вас написать программу,
которая сможет сообщить Васе, на какие клетки можно пойти конем с заданной клетки.
Вы, наверное, тоже знаете, что конь в шахматах всегда перемещается либо на две клетки
по горизонтали и на одну по вертикали, либо на одну по горизонтали и на две по вертикали.
Вертикали обозначаются маленькими английскими буквами от a до h, а горизонтали - цифрами
от 1 до 8. Любая клетка на шахматной доске обозначается буквой соответствующей вертикали
и цифрой соответствующей горизонтали, например, c6 или e2.

https://acmp.ru/index.asp?main=alltasks 220/591
2/29/2020 Все задачи сайта

Входные данные
Во входном файле INPUT.TXT записано 2 символа – координаты клетки, где стоит конь.

Выходные данные
В выходной файл OUTPUT.TXT в произвольном порядке выведите все координаты клеток, на которые за один ход
может попасть конь, находящийся на заданной клетке.

Примеры
№ INPUT.TXT OUTPUT.TXT
e2 c1
c3
d4
1
f4
g1
g3
a1 b3
2
c2

Задача №417
Даты
(Время: 1 сек. Память: 16 Мб Сложность: 34%)
При обработке различной информации часто приходится оперировать с данными о датах. В этой задаче вам нужно
составить программу, которая сможет вывести число, месяц и день недели, которые наступят через K дней, начиная с
первого января 2008 года. Напомним, что это был вторник.

Входные данные
Входной файл INPUT.TXT содержит одно целое число K (0 ≤ K ≤ 1000) - количество дней, после первого января, через
которое наступит (или наступила) интересующая дата.

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

Примеры
№ INPUT.TXT OUTPUT.TXT
1 0 Tuesday, 01.01
2 5 Sunday, 06.01

Примечание
По-английски дни недели называются так: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday.

Задача №418
Редактор
(Время: 0,5 сек. Память: 16 Мб Сложность: 39%)
Немногие знают, что первые версии текстового редактора из предыдущей задачи были написаны в России
программистом Колей. Для этого он несколько месяцев почти не выходил из подвала, где стояли только диван и
компьютер.
Вот одна из проблем, с которыми столкнулся Коля в те времена. Во время работы пользователь набирает какой-то
текст, а так же может его редактировать. При этом, даже если итоговый результат полностью помещается на экран, в
https://acmp.ru/index.asp?main=alltasks 221/591
2/29/2020 Все задачи сайта

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

Входные данные
Во входном файле INPUT.TXT записана строка из различных символов - последовательность кнопок на клавиатуре,
которые нажимал пользователь. Переводы строк заменены на символ '\'. Первые версии редактора поддерживали три
управляющие команды, которые закодированы следующим образом:

'<' - удаление предыдущего символа (если курсор находится в начале строки, и эта строка не первая, то
удаляется предшествующий перевод строки);
'^' - перемещение в конец предыдущей строки (игнорируется, если курсор находится на первой строке);
'|' - перемещение в конец следующей строки (игнорируется, если курсор находится на последней строке).

Все остальные символы, содержащиеся в файле, имеют коды от 32 (пробел) и выше и должны пониматься как есть.
Число нажатий клавиш не превосходит 105.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число - максимальную длину строки, которая была достигнута в
течение работы редактора.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 Hello, World???<<<! 15
2 Hello, World?\This is^<!!!| a sample. 17

Задача №419
Палиндром
(Время: 0,25 сек. Память: 16 Мб Сложность: 41%)
Одно из известных развлечений со словами - составление палиндромов. Палиндромом называется предложение,
которое, после удаления из него всех пробелов и знаков препинания, читается одинаково справа налево и слева направо.
Создатели одного известного текстового редактора пишут новую версию модуля для проверки орфографии. Они хотят
реализовать возможность вывода подсказки для пользователя на тот случай, если он допустил опечатку при наборе какого-
нибудь палиндрома. Конечно же, они решили обратиться именно к вам.
Более точно, по заданной строке нужно определить, может ли она быть результатом замены, удаления или добавления
не более чем одного символа в некотором палиндроме. При этом строчные и прописные английские буквы не различаются,
а все остальные символы должны игнорироваться.

Входные данные
Во входном файле INPUT.TXT содержится заданная строка. Гарантируется, что она содержит хотя бы одну букву.
Длина строки не превосходит 105.

Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите YES, если строка может быть получена каким-нибудь из
описанных выше преобразований из некоторого палиндрома, и NO в противном случае. В случае положительного ответа
во второй строке выведите какой-нибудь из палиндромов, в которых мог допустить опечатку пользователь.

Примеры
№ INPUT.TXT OUTPUT.TXT
Never odd or even YES
1
NeVErODDoREVen
2 Eat it! NO
3 Mums are not set as a test on Erasmus. YES
https://acmp.ru/index.asp?main=alltasks 222/591
2/29/2020 Все задачи сайта
Sums are not set as a test on Erasmus.

Задача №420
Химическая формула
(Время: 1 сек. Память: 16 Мб Сложность: 36%)
Запись химической реакции всегда содержит описания нескольких веществ. В свою очередь, описание одного
химического вещества - строка, в которой входящие в него атомы химических элементов перечисляются в определенном
порядке. При этом последовательности из двух и более одинаковых атомов, идущих подряд, группируются: записывается
сокращенное название химического элемента и количество одинаковых элементов подряд. Например, вместо HH пишут
H2. Обозначения химических элементов состоят из одной или двух английских букв, из которых первая - прописная, а
вторая - строчная. В этой задаче не будут рассматриваться более сложные правила. Например, не используются скобки. Вы
должны проверить, что заданная последовательность символов подходит под данное выше описание формулы
химического вещества. При этом не нужно рассматривать корректность заданной строки, исходя из каких-либо других
соображений, даже если они продиктованы здравым смыслом.

Входные данные
В единственной строке входного файла INPUT.TXT записана непустая последовательность символов, содержащая
только цифры и строчные и прописные английские буквы. Гарантируется, что в последовательности перед каждой
строчной буквой идет прописная, а все однобуквенные и двухбуквенные подстроки, начинающиеся с прописной буквы -
правильные обозначения химических элементов (поэтому здесь даже не приводится их список). Длина
последовательности от 1 до 1000 символов.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно слово YES, если данная строка подходит под упрощенное описание
формулы химического вещества из условия и NO, если не подходит.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 OHNaOHNa YES
2 H2O YES
3 HH NO
4 CHC YES

Задача №421
Треугольники - 2
(Время: 1 сек. Память: 16 Мб Сложность: 47%)
Когда Вова зашел в класс математики, на школьной доске было в беспорядке нарисовано некоторое количество
треугольников. Вове очень понравилась идея разрисовывания доски треугольниками, и он принялся изучать ситуацию
более внимательно. Вова подумал, что наиболее простой и быстрый способ ровно нарисовать такое количество
треугольников - вырезать из какого-нибудь материала шаблон и обводить его на доске мелом. Кроме того Вова
предположил, что тот, кто рисовал треугольники, должно быть, очень спешил, и потому перемещал шаблон, не отрывая
никакую его часть от доски.
Помогите Вове проверить его гипотезу, если он готов сообщить вам тщательно измеренные координаты вершин
треугольников.

Входные данные
В первой строке входного файла INPUT.TXT записано одно целое число - количество треугольников N (2 ≤ N ≤ 100).
Последующие N строк описывают треугольники, строка i+1 содержит 3 пары положительных целых чисел, не
превосходящих 10000 - координаты вершин треугольника номер i.

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу: YES, если все треугольники можно было нарисовать,
обводя один шаблон и не отрывая этот шаблон от доски, и NO в противном случае.
https://acmp.ru/index.asp?main=alltasks 223/591
2/29/2020 Все задачи сайта

Примеры
№ INPUT.TXT OUTPUT.TXT
3 YES
1 1 1 2 2 1
1
2 1 2 2 1 2
1 1 2 1 2 2
2 NO
2 1 1 4 1 2 2
1 1 4 1 3 2

Задача №422
Упорядоченные дроби
(Время: 1 сек. Память: 16 Мб Сложность: 38%)
Требуется вывести в порядке возрастания все несократимые дроби, заключённые между 0 и 1, знаменатели которых не
превышают N.

Входные данные
Входной файл INPUT.TXT содержит натуральное число N. (2 ≤ N ≤ 255)

Выходные данные
В выходной файл OUTPUT.TXT выведите в каждой строке по дроби – элементу искомой последовательности в таком
же формате, как в примерах.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 1/3
1 1/2
2/3
5 1/5
1/4
1/3
2/5
2 1/2
3/5
2/3
3/4
4/5

Задача №423
Сообщение
(Время: 1 сек. Память: 16 Мб Сложность: 46%)
В сообщении, состоящем из заглавных русских букв и пробелов, каждую букву заменили её порядковым номером в
русском алфавите (А - 1, Б - 2, ..., Я - 33), а пробел - нулем.
Требуется по заданной последовательности цифр найти количество исходных сообщений, из которых она могла
получиться.

Входные данные
Входной файл INPUT.TXT содержит последовательность цифр, состоящую не более чем из 100 цифр.

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

https://acmp.ru/index.asp?main=alltasks 224/591
2/29/2020 Все задачи сайта

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1025 4
2 21705 3
3 33222 8

Задача №424
Игра умножения
(Время: 1 сек. Память: 16 Мб Сложность: 52%)
Слава и Оля играют в игру умножения: умножают целое число P на одно из чисел от 2 до 9. Слава всегда начинает с P
= 1, делает умножение, затем число умножает Оля, затем Слава и т.д. Перед началом игры им задают случайное число N, и
победителем считается тот, кто первым получит P ≥ N.
Требуется определить, кто выиграет при заданном числе N, если известно, что Слава и Оля играют наилучшим
образом.

Входные данные
Входной файл INPUT.TXT содержит целое N. (2 ≤ N ≤ 4 294 967 295)

Выходные данные
В выходной файл OUTPUT.TXT выведите «Stan wins.», если победит Слава, или «Ollie wins.», если победит Оля.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 162 Stan wins.
2 17 Ollie wins.
3 34012226 Stan wins.

Задача №425
Прямая и квадраты
(Время: 1 сек. Память: 16 Мб Сложность: 49%)
В прямоугольной декартовой системе координат прямая задана двумя принадлежащими ей точками (0, W) и (100•N,
E). Также заданы N2 квадратов со сторонами, параллельными осям координат. Квадрат Si,j имеет координаты углов (100•i,
100•j) и (100•i - 100, 100•j - 100), i, j = 1, 2, ..., N.
Требуется найти количество квадратов, имеющих общую точку с прямой.

Входные данные
Входной файл INPUT.TXT содержит в одной строке числа N, W и E, разделенные пробелами. (1 ≤ N ≤ 100, 0 ≤ W, E ≤
100•N)

Выходные данные
В выходной файл OUTPUT.TXT выведите количество квадратов, имеющих общую точку с заданной прямой.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 150 50 4
2 2 110 120 2

https://acmp.ru/index.asp?main=alltasks 225/591
2/29/2020 Все задачи сайта

Задача №426
Lines - 2
(Время: 1 сек. Память: 16 Мб Сложность: 48%)
В таблице из N строк и N столбцов некоторые клетки заняты шариками, другие свободны. Выбран шарик, который
нужно переместить, и место, куда его нужно переместить. Выбранный шарик за один шаг перемещается в соседнюю по
горизонтали или вертикали свободную клетку. Требуется выяснить, возможно ли переместить шарик из начальной клетки
в заданную, и, если возможно, то найти путь из наименьшего количества шагов.

Входные данные
В первой строке входного файла INPUT.TXT находится число N, в следующих N строках - по N символов. Символом
точки обозначена свободная клетка, английской заглавной O - шарик, @ - исходное положение шарика, который должен
двигаться, английской заглавной X - конечное положение шарика. (2 ≤ N ≤ 250)

Выходные данные
В выходной файл OUTPUT.TXT выведите в первой строке «Y», если движение возможно, или «N», если нет. Если
движение возможно, то далее следует вывести N строк по N символов - как и на вводе, но буква X, а также все точки по
пути следует заменить плюсами. Если решений несколько, выведите любое.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 Y
....X +++++
.OOOO +OOOO
1
..... +++++
OOOO. OOOO+
@.... @++++
5 N
..X..
.....
2
OOOOO
.....
..@..
5 Y
...X. ..++.
..... .++..
3
O.OOO O+OOO
..... .++++
....@ ....@

Задача №427
Несоставляемое число
(Время: 1 сек. Память: 16 Мб Сложность: 48%)
Дано N натуральных чисел. Требуется найти минимальное натуральное число, не представимое суммой никаких из
этих чисел, если в эту сумму каждое исходное число может входить не более одного раза.

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

Входной файл INPUT.TXT в первой строке содержит натуральное число N, не превосходящее 104, далее следуют N
строк, в каждой из которых записано по одному натуральному числу, каждое из которых не превосходит 109.

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры

https://acmp.ru/index.asp?main=alltasks 226/591
2/29/2020 Все задачи сайта

№ INPUT.TXT OUTPUT.TXT
4 4
1
1 1
1
5
4 16
1
2 2
4
8

Задача №428
SMS
(Время: 1 сек. Память: 16 Мб Сложность: 74%)
Сообщения SMS сотового телефона MOBILA составлены из прописных английских букв.
Если буква первая на кнопке, нужно нажать эту кнопку один раз, чтобы добавить букву в
сообщение. Если буква вторая - нужно нажать кнопку дважды и т.д. Так, чтобы набрать слово
"SMS", нужно нажать
(PQRS)(PQRS)(PQRS)(PQRS)(MNO)(PQRS)(PQRS)(PQRS)(PQRS)
Чтобы ввести две буквы, находящиеся на одной кнопке, нужно между нажатиями
клавиши сделать паузу. Например, чтобы ввести сообщение "AA", нужно нажать
(ABC)(пауза)(ABC)
Если на кнопке три буквы, то, как только такая кнопка нажата три раза, последняя буква
добавляется в сообщение немедленно, а следующие нажатия той же кнопки относятся к
следующей букве сообщения. Аналогично, если на кнопке четыре буквы, то после четырёх
нажатий в сообщение будет добавлена последняя буква. То есть последовательность нажатий
(ABC)(ABC)(ABC)(ABC)(пауза)(ABC)
соответствует сообщению "CAA". К сожалению, сотовые телефоны этой модели давно не
производятся, и остался только один такой телефон. Он может произвольно вставлять и
игнорировать паузы во время ввода сообщения, что может привести к некоторым изменениям в сообщениях. Например,
введя MOSCOWQUARTERFINAL, можно получить вместо этого OMSCMNWQTTARTERDEINAL. Вы получили SMS-
сообщение и знаете, что оригинальное сообщение содержало N букв. Чтобы определить вероятность угадывания
оригинального сообщения, найдите число возможных сообщений, которые могли превратиться в то, которое Вы получили.

Входные данные
Входной файл INPUT.TXT в первой строке содержит длину оригинального сообщения N (1 ≤ N ≤ 80). Вторая строка
содержит полученное SMS-сообщение, состоящее только из прописных английских букв длиной от 1 до 80.

Выходные данные
В выходной файл OUTPUT.TXT выведите число сообщений из N букв, которые будучи набранными на этом телефоне,
могут превратиться в данное сообщение.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 1
1
MAMA
2 2
2
WWW
80 0
3
QUARTERFINAL

https://acmp.ru/index.asp?main=alltasks 227/591
2/29/2020 Все задачи сайта

Задача №429
Дерево игры
(Время: 1 сек. Память: 16 Мб Сложность: 56%)
Игра для двух игроков определяется её деревом. Соперники делают
ходы по очереди. Первый игрок начинает игру. Игра кончается или
вничью, или победой одного из игроков. Листья дерева этой игры могут
иметь значения, равные одному из трёх чисел: +1 - победа первого
игрока, -1 - победа второго игрока, 0 - ничья. Ваша задача - определить,
кто выиграет, если оба противника следуют правильной стратегии.

Входные данные
Узлы дерева пронумерованы последовательными целыми числами.
Корень дерева всегда имеет номер 1. Первая строка входного файла
INPUT.TXT содержит натуральное N - число узлов в дереве игры (N ≤ 1000). Следующая N - 1 строка описывает узлы -
одна строка для каждого узла (за исключением первого). Вторая строка содержит описание второго узла дерева, третья -
третьего узла и т.д. Если узел является листом, первый символ строки - L, затем идёт пробел, затем номер родительского
узла, ещё пробел и результат игры (+1 - победа первого игрока, -1 - победа второго, 0 - ничья). Если узел внутренний, то
строка содержит N - первый символ, затем пробел и номер родительского узла.

Выходные данные
В выходной файл OUTPUT.TXT выведите +1, если выигрывает первый игрок, -1, если второй, и 0 - в случае
ничейного исхода.

Примеры
№ INPUT.TXT OUTPUT.TXT
7 +1
N 1
N 1
1 L 2 -1
L 2 +1
L 3 +1
L 3 +1
7 0
N 1
N 1
2 L 2 -1
L 2 +1
L 3 +1
L 3 0
18 +1
N 1
N 1
N 2
L 2 +1
N 3
L 3 +1
L 3 +1
L 4 -1
3
L 4 +1
N 4
N 6
L 6 -1
L 6 -1
L 11 -1
L 11 +1
L 12 +1
L 12 -1

https://acmp.ru/index.asp?main=alltasks 228/591
2/29/2020 Все задачи сайта

Задача №430
Дуга на сфере
(Время: 1 сек. Память: 16 Мб Сложность: 51%)
На поверхности планеты, являющейся шаром радиусом R, заданы две точки своими широтой и долготой. Требуется
найти минимальную длину пути по поверхности этой планеты из одной точки в другую.

Входные данные
В первой строке входного файла INPUT.TXT находится число R, во второй строке заданы широта и долгота первой
точки, в третьей строке - широта и долгота второй точки. Широта измеряется в градусах от -90 до 90, долгота – в градусах
от -180 до 180. Радиус R меняется в пределах от 100 до 10000. Все числа вещественные.

Выходные данные
В выходной файл OUTPUT.TXT выведите длину пути с двумя знаками после запятой.

Примеры
№ INPUT.TXT OUTPUT.TXT
4000 3141.59
1 45 120
0 120
3437.5 52.04
2 41.766666 -50.233333
41.236388 -51.15

Задача №431
Путь коня
(Время: 1 сек. Память: 16 Мб Сложность: 44%)
Дана шахматная доска, состоящая из N×N клеток, несколько из них вырезано. Провести ходом коня через
невырезанные клетки путь минимальной длины из одной заданной клетки в другую.

Входные данные
В первой строке входного файла INPUT.TXT задано число N (2 ≤ N ≤ 50). В следующих N строках содержится по N
символов. Символом # обозначена вырезанная клетка, точкой - невырезанная клетка, @ - заданные клетки (таких символов
два), соответствующие началу и концу пути коня.

Выходные данные
Если путь построить невозможно, в выходной файл OUTPUT.TXT следует вывести "Impossible", в противном случае
вывести такую же карту, как и на входе, но пометить все промежуточные положения коня символом @.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 ...@.
..... .@@..
.@@.. ....@
1
..... .....
..... .....
.....
5 @..@.
@..@. ..##.
..##. .@..@
2
..... ..@..
..... @....
.....

https://acmp.ru/index.asp?main=alltasks 229/591
2/29/2020 Все задачи сайта
3 5 Impossible
@....
..#..
.#...
.....
....@

Задача №432
Грядки
(Время: 1 сек. Память: 16 Мб Сложность: 40%)
Прямоугольный садовый участок шириной N и длиной M метров разбит на квадраты со стороной 1 метр. На этом
участке вскопаны грядки. Грядкой называется совокупность квадратов, удовлетворяющая таким условиям:

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

Подсчитайте количество грядок на садовом участке.

Входные данные
В первой строке входного файла INPUT.TXT находятся числа N и M через пробел, далее идут N строк по M символов.
Символ # обозначает территорию грядки, точка соответствует незанятой территории. Других символов в исходном файле
нет. (1 ≤ N, M ≤ 200)

Выходные данные
В выходной файл OUTPUT.TXT выведите количество грядок на садовом участке.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 10 3
##......#.
.#..#...#.
1
.###....#.
..##....#.
........#.
5 10 5
##..#####.
.#.#.#....
2
###..##.#.
..##.....#
.###.#####

Задача №433
Школа танцев
(Время: 1 сек. Память: 64 Мб Сложность: 52%)
В школу бальных танцев профессора Падеграса записались n учеников — мальчиков и девочек. Профессор построил
их в один ряд, и хочет отобрать из них для первого занятия группу стоящих подряд учеников, в которой количество
мальчиков и девочек одинаково. Сколько вариантов выбора есть у профессора?

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

В первой строке входного файла INPUT.TXT задано число n (1 ≤ N ≤ 106). Во второй строке задается описание
построенного ряда из мальчиков и девочек — строка из n символов a и b (символ a соответствует девочке, а символ b —
мальчику).

https://acmp.ru/index.asp?main=alltasks 230/591
2/29/2020 Все задачи сайта

Выходные данные
В единственной строке выходного файла OUTPUT.TXT должно содержаться единственное число — количество
вариантов выбора требуемой группы.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 2
1
bab
8 13
2
abbababa

Задача №434
Стеклянный забор
(Время: 1 сек. Память: 16 Мб Сложность: 72%)
В известном городе Санкт-Тверь решили построить новый
микрорайон, представляющий в плане прямоугольную область. Границы
микрорайона и его улицы по проекту ориентированы строго по сторонам
света, причем улицы разбивают микрорайон на кварталы размером 1 км ×
1 км.
Во время привязки исходного проекта к местности выяснилось, что
некоторые кварталы по проекту микрорайона оказываются полностью
или частично расположенными на топком болоте. Область, занимаемая
болотом, связна и со всех сторон окружена подлежащими застройке
кварталами микрорайона (область связна, если из любой ее точки можно
добраться в любую другую, не выходя за пределы области).
Для сохранения экологии местности и обеспечения безопасности
жителей занятую болотом область решили оградить стеклянным забором.
Забор должен проходить только по границам кварталов проектируемого
микрорайона, отделяя болото, и, возможно, некоторые кварталы проекта, не занятые болотом, от остальной части
микрорайона.
Для экономии строительных материалов забор должен иметь минимальную длину. Среди всех заборов минимальной
длины нужно выбрать тот, для которого площадь части микрорайона, попадающей внутрь забора, минимальна.
Требуется написать программу, которая спроектирует забор с заданными выше свойствами.

Входные данные
Входной файл INPUT.TXT содержит описание многоугольника — границы области, состоящей только из кварталов c
заболоченными участками. Стороны многоугольника параллельны осям координат.

В первой строке задано целое число N — количество вершин в многоугольнике (4 ≤ N ≤ 105, N четное). В каждой из
следующих N строк заданы два целых числа — координаты очередной вершины при обходе этого многоугольника против
часовой стрелки. Все числа не превосходят 109 по абсолютной величине. Никакие три последовательные вершины
границы не лежат на одной прямой. Граница многоугольника не содержит самопересечений и самокасаний.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать описание многоугольника, определяющего искомый забор. Формат
описания многоугольника тот же, что и для входных данных. Никакие три последовательные вершины этого
многоугольника не должны лежать на одной прямой.

Пример
№ INPUT.TXT OUTPUT.TXT
1 8 6
0 0 0 0
9 0 9 0
https://acmp.ru/index.asp?main=alltasks 231/591
2/29/2020 Все задачи сайта
9 9 9 9
6 9 6 9
6 3 6 6
3 3 0 6
3 6
0 6

Задача №435
Несчастливые номера
(Время: 1 сек. Память: 16 Мб Сложность: 88%)
Обычно автобусный билет с номером, состоящим из 6 цифр, считается счастливым, если сумма первых трех цифр его
номера была равна сумме трех последних. Школьник Вася очень любил получать счастливые билеты, однако это
случалось не так часто. Поэтому для себя он изменил определение счастливого билета.
Счастливым он считал тот номер, сумма некоторых цифр которого равнялась сумме оставшихся цифр. В его
представлении билет с номером 561743 счастливый, так как 5+1+4+3=6+7.
Вася вырос, но по привычке в номерах различных документов пытается найти признаки счастливого номера . Для
этого он расширил свое определение счастливого номера на N значные номера лицевых счетов и других документов,
состоящих из цифр от 0 до K. Номер документа он называет счастливым, если сумма некоторых цифр этого номера
равняется сумме оставшихся. Остальные номера для него несчастливые. К сожалению, несмотря на расширенное
понимание “счастья”, несчастливых номеров остается еще много...
Вам предлагается определить количество несчастливых N-значных номеров, которые можно составить, используя
цифры от 0 до K. В номерах допускается любое количество ведущих нулей.

Входные данные
Входной файл INPUT.TXT содержит описание вида номеров в виде двух чисел N и K, разделенных пробелом. (1 ≤ N ≤
100, 1 ≤ K ≤ 9, N*K ≤ 300)

Выходные данные
В выходной файл OUTPUT.TXT выведите количество несчастливых номеров для заданных N и K.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 7 7
2 4 3 164
3 11 9 50184219171

Задача №436
Счастливые цифры
(Время: 1 сек. Память: 16 Мб Сложность: 60%)
Школьнику Васе нравятся числа, которые заканчиваются счастливыми для него цифрами K. Поэтому каждый раз,
когда он видит какое-нибудь натуральное число N, он сразу пытается подобрать такое D (D ≥ 2), что число N в системе
счисления с основанием D заканчивается как можно большим количеством цифр K.
Требуется написать программу, которая по заданным числам N и K найдет такое D, чтобы число N в системе
счисления с основанием D заканчивалось как можно большим количеством цифр K.

Входные данные
Входной файл INPUT.TXT содержит два целых десятичных числа N и K (1 ≤ N ≤ 1011; 0 ≤ K ≤ 9).

Выходные данные
В выходной файл OUTPUT.TXT выведите два числа: D – искомое основание системы счисления и L – количество
цифр K, которым заканчивается запись числа N в этой системе счисления. Если искомых D несколько, выведите любое из

https://acmp.ru/index.asp?main=alltasks 232/591
2/29/2020 Все задачи сайта

них, не превосходящее 1012 (такое всегда существует).

Примеры
№ INPUT.TXT OUTPUT.TXT Комментарий
1 49 1 3 2 4910 = 12113
2 7 5 3 0 Ни в одной системе счисления 7 не заканчивается на цифру 5

Задача №437
Тапкодер
(Время: 3 сек. Память: 16 Мб Сложность: 78%)
Ассоциация Тапкодер организует Всемирное парное соревнование сильнейших программистов. К участию в
соревновании допущены первые 2K зарегистрировавшихся участников, которым присвоены номера от 1 до 2K.
Соревнование будет проходить по олимпийской системе. В первом туре первый участник встречается со вторым,
третий с четвертым и так далее. В каждой паре победителем становится участник, первым решивший предложенную
задачу, при этом ничьих не бывает. Все победители очередного тура и только они являются участниками следующего тура.
В каждом туре пары составляются из участников в порядке возрастания присвоенных им номеров. Соревнование
продолжается до тех пор, пока не останется один победитель.
Организаторам стало известно, что некоторые пары участников заранее договорились о результате встречи между
собой, если такая встреча состоится. Для всех остальных встреч, кроме N договорных, возможен любой исход.
Некоторые M участников соревнования представили свои резюме в ассоциацию Тапкодер с целью поступления на
работу. Организаторов интересует, до какого тура может дойти каждый из претендентов при наиболее благоприятном для
него стечении обстоятельств. При этом для каждого участника в отдельности считается, что все недоговорные встречи, в
том числе те, в которых он не участвует, закончатся так, как ему выгодно, а все состоявшиеся договорные встречи
закончатся в соответствии с имеющимися договоренностями.
Требуется написать программу, которая для каждого из претендентов определяет максимальный номер тура, в котором
он может участвовать.

Входные данные
В первой строке входного файла INPUT.TXT заданы три целых числа K (1 ≤ K ≤ 60), N (0 ≤ N ≤ 100 000) и M (1 ≤ M ≤
100 000). В следующих N строках описаны N пар участников, которые договорились между собой о том, что первый из
двух участников пары выиграет встречу, если она состоится. Гарантируется, что каждая пара участников присутствует во
входных данных не более одного раза, при этом, если задана пара X Y, то пары Y X быть не может, кроме того, X ≠ Y. В
последней строке файла перечислены номера участников, желающих работать в Тапкодере, в порядке возрастания их
номеров. Все номера претендентов на работу различны.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать M целых чисел — максимальные номера туров, до которых могут
дойти соответствующие претенденты на работу. Туры нумеруются от 1 до K.

Примеры
№ INPUT.TXT OUTPUT.TXT Комментарий
2 0 3 2 2 2 У каждого из участников есть возможность выйти в финал, так как
1
1 3 4 договорных матчей нет
3 1 1 3 Если четвертый участник выиграет у третьего, то договорная
2 3 1 встреча первого и третьего не состоится, что благоприятно для
1 первого
3 3 4 3 1 2 3 Первому участнику благоприятно во втором туре играть с третьим,
1 2 а не с четвертым, в свою очередь, четвертый может выиграть у
3 1 3 третьего и также выйти в финал
4 1
1 2 3 4

https://acmp.ru/index.asp?main=alltasks 233/591
2/29/2020 Все задачи сайта

Задача №438
Сочи-2014
(Время: 1 сек. Память: 16 Мб Сложность: 90%)
К предстоящей олимпиаде в Сочи требуется возвести N олимпийских объектов. Процесс строительства каждого
объекта определяется освоением выделяемых на него денежных средств.
В строительстве объектов готовы участвовать K фирм. Фирмы имеют разные строительные мощности, выраженные в
количестве денежных средств, которые фирма может осваивать в единицу времени.
В каждый момент времени фирма может осуществлять работы только на одном объекте. В строительстве одного
объекта не могут одновременно участвовать несколько фирм. В любой момент времени любой объект может быть передан
для продолжения строительства любой фирме.
Администрация строительства олимпийских объектов заинтересована в скорейшем освоении денежных средств,
поэтому хочет составить такой график работ, при следовании которому строительство будет завершено в кратчайшие
сроки. В графике будет указано время, в течение которого тот или иной объект будет строиться какой-то фирмой.
Напишите программу, результаты работы которой позволят администрации построить требуемый график.

Входные данные
Первая строка входного файла INPUT.TXT содержит целое число N — количество объектов (1 ≤ N ≤ 50). Во второй
строке содержатся разделенные пробелами целочисленные значения S1, S2, S3, …, SN объемов денежных средств,
выделяемых для строительства каждого из объектов. Числа Si выражены в тысячах рублей, положительные и не
превышают 1000.
В третьей строке находится целое число K — количество строительных фирм (1 ≤ K ≤ 50). Четвертая строка содержит
разделенные пробелами целочисленные значения мощностей каждой из фирм V1, V2, V3, …, VK в тыс. руб / час. Числа Vj
положительные и не превышают 1000.

Выходные данные
Первая строка выходного файла OUTPUT.TXT содержит действительное число T — время в часах окончания всех
работ, считая с начала строительства, выведенное не менее чем с тремя точными знаками после запятой. Далее в каждой
строке выходного файла содержатся разделенные пробелами три числа: t, i, j, где действительное число t — время от
начала строительства в часах, в которое j-я фирма приступает к строительным работам на i-м объекте.
Значения времен необходимо выводить с максимально возможной точностью. Строки должны быть отсортированы по
неубыванию t.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 8.800
24 20 0 1 1
1 2 0 2 2
3 2 6.4000000 1 2
6.4000000 2 1
3 12.00000
100 100 100 0 1 3
4 0 2 4
5 5 10 10 0 3 1
2 4 2 2
4 3 4
8 1 1
8 3 4
8 2 3

Задача №439
Закон Амдала
(Время: 1 сек. Память: 16 Мб Сложность: 23%)

https://acmp.ru/index.asp?main=alltasks 234/591
2/29/2020 Все задачи сайта

Параллельное программирование изучает методы построения программ, которые будут выполняться на нескольких
процессорах. В результате решения одной из первых задач этого раздела информатики появился закон Амдала.
Задача Амдала формулировалась так. Имеется n процессоров и p процентов вычислений не могут выполняться
параллельно. Во сколько раз быстрее можно выполнить вычисления по сравнению с одним процессором?
Например, если n = 10, p = 50, а на одном процессоре все вычисления выполняются за время t. Тогда первая половина
вычислений (50%) будет выполнена за время t/(2•10) , а вторая - за время t/2. Общее время вычислений в этом случае
составит t/2 + t/20 = 11•t/20, а ускорение по сравнению с одним процессором составит 20/11 раза.
Если же n = 10, p = 25, и на одном процессоре все вычисления выполняются за время t. Тогда 75% вычислений будут
выполнены за время 3•t/(4•10) , а оставшиеся 25% - за время t/4 . Общее время вычислений в этом случае составит t/4 +
3•t/40 = 13•t/40, а ускорение по сравнению с одним процессором составит 40/13 раза.
Даны числа n и p. Напишите программу, решающую задачу Амдала.

Входные данные
Входной файл INPUT.TXT содержит 2 целых числа n и p. (1 ≤ n ≤ 1000, 0 ≤ p ≤ 100).

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

В выходной файл OUTPUT.TXT выведите ответ на задачу с точностью, не меньшей 10-6.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 10 50 1.818181818
2 10 25 3.076923077
3 1000 100 1.000000000

Задача №440
Биатлон
(Время: 1 сек. Память: 16 Мб Сложность: 24%)
На Зимних Олимпийских Играх традиционно проводятся соревнования по биатлону. Как известно, этот вид спорта
содержит лыжные гонки и стрельбу по мишеням из винтовки. На каждом огневом рубеже расположены 5 мишеней.
Каждая из них имеет форму круга радиусом 10 см, а расстояния между центрами соседних мишеней одинаковы и равны 25
см. Центры мишеней при этом расположены на одной горизонтали.
Введем прямоугольную систему координат так, что начало координат расположено в центре самой левой мишени, ось
Ox направлена вправо, а ось Oy - вверх. Таким образом, центры мишеней имеют координаты (0, 0), (25, 0), (50, 0), (75, 0) и
(100, 0).
Для информационного обеспечения проведения соревнований было решено разработать систему подсчета количества
пораженных мишеней. Эта система по точкам, в которые попали пули после выстрелов спортсмена, должна определять
количество пораженных мишеней. Мишень считается пораженной, если в нее попала хотя бы одна пуля (при этом,
разумеется, если в мишень попали две или больше пуль, то попадание считается только один раз).
На спринтерской гонке на каждом огневом рубеже у спортсмена есть 5 пуль. Вам даны координаты точек, в которые
попали пули после выстрелов спортсмена. Определите количество пораженных мишеней.

Входные данные
Входной файл INPUT.TXT содержит ровно пять строк: i-ая из них содержит два целых числа xi и yi - координаты
точки, в которую попала пуля после i-ого выстрела спортсмена. Все числа во входном файле не превосходят 1000 по
модулю.

Выходные данные
В выходной файл OUTPUT.TXT выведите единственное число – число пораженных мишеней.

Примеры

https://acmp.ru/index.asp?main=alltasks 235/591
2/29/2020 Все задачи сайта

№ INPUT.TXT OUTPUT.TXT
0 0 5
25 0
1 50 0
75 0
100 0
0 0 3
0 0
2 0 0
75 0
100 0

Задача №441
Карточки - 2
(Время: 2 сек. Память: 128 Мб Сложность: 73%)
Вася и Петя играют в следующую игру. Вася кладет на стол два ряда карточек. Первый ряд состоит из N карточек, на
каждой из которых написано некоторое число ai. Второй ряд состоит из N карточек, на каждой из которых написано
некоторое число bi.
Пете требуется переупорядочить карточки первого ряда так, чтобы на столе получилось два одинаковых ряда
карточек. За одну секунду Петя может поменять местами i-ую и (i+1)-ую (1 ≤ i ≤ N-1) карточки первого ряда.
Помогите Пете переупорядочить карточки, затратив на это минимальное время.

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

Первая строка входного файла INPUT.TXT содержит целое число N (1 ≤ N ≤ 105). Вторая строка содержит N целых
чисел ai. Третья строка содержит N целых чисел bi. Все числа по абсолютной величине не превосходят 106.

Выходные данные
В выходной файл OUTPUT.TXT выведите количество секунд, за которые Петя сможет переупорядочить карточки
требуемым образом. Если переупорядочить карточки требуемым образом невозможно, выведите единственное число -1.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 7
1 3 2 3 4 5
5 4 3 2 3
8 -1
2 1 2 1 2 1 2 1 2
2 1 2 1 2 1 2 2

Задача №442
Шрифты
(Время: 1 сек. Память: 16 Мб Сложность: 45%)
Третий за неделю чек по заправке картриджа для принтера в бухгалтерии приняли без особого удовольствия. Судя по
всему, надо серьезно подойти к вопросу экономного использования тонера - на учет должна быть поставлена каждая буква.
Вам поручена реализация утилиты, которая будет обрабатывать HTML-документы старых версий и подсчитывать в них
количество символов каждого размера. HTML-документ состоит из обычного текста и тегов - управляющих элементов,
заключенных в угловые скобки. Для управления размером шрифта используется тег font с атрибутом size: <font size="x">.
Если x - натуральное число, то размер шрифта устанавливается равным x. Кроме того, x может иметь вид +y или -y, где y -
целое положительное число. В этом случае размер шрифта соответственно увеличивается или уменьшается на y. Действие
тега заканчивается с появлением соответствующего закрывающего тега </font>. Все остальные теги вы не должны
обрабатывать. Можете считать, что теги не содержат лишних пробельных символов. По умолчанию размер шрифта равен
10, и изменения не будут выводить его из интервала от 1 до 50.

https://acmp.ru/index.asp?main=alltasks 236/591
2/29/2020 Все задачи сайта

Входные данные
Входной файл INPUT.TXT содержит описание HTML-документа, по длине не превосходящее 5000 символов.

Выходные данные
В выходной файл OUTPUT.TXT выведите для каждого шрифта, которым был написан хотя бы один непробельный
символ, на отдельной строке через пробел его размер и количество соответствующих ему непробельных (с ASCII кодами
не равными 9, 10, 13 и 32) символов в порядке возрастания размера.

Пример
№ INPUT.TXT OUTPUT.TXT
<HTML> 2 4
<BODY> 7 12
<b> Fonts: normal <font size="2"> tiny <font size="+9"> bigger 10 20
<p> 11 6
</font></font> as before 15 10
</b>
1 <font size="+5">
very big
<font size="-8">
smaller again
</font> <a href="...">...</a></font>
</BODY>
</HTML>

Задача №443
Хеш-функция
(Время: 0,5 сек. Память: 16 Мб Сложность: 37%)
В задачах поиска часто используются так называемые хеш-функции. Одним из важнейших классов хеш-функций
являются так называемые полиномиальные хеш-функции.
Пусть дана строка S = s1s2 … sl, состоящая из цифр от 0 до 9. Тогда значение полиномиальной хеш-функции p(S, x, m)
вычисляется следующим образом:

(a mod b обозначает остаток от деления числа a на число b). Например, пусть S = 0123, тогда p(S, 2, 5) = (0 • 1 + 1 • 2 +
2 • 4 + 3 • 8) mod 5 = 4.
Вам даны множество из n строк (S(1), S(2), … , S(n)), каждая из которых состоит только из цифр от 0 до 9, и числа m и
x. Необходимо найти количество таких пар (i, j), где 1 ≤ i, j ≤ n, i < j, что p(S(i), x, m) = p(S(j), x, m).

Входные данные
Первая строка входного файла INPUT.TXT содержит три целых числа: n (1 ≤ n ≤ 30000), m (1 ≤ m ≤ 2000), x (1 ≤ x ≤
100). Далее идут n строк, каждая из которых содержит по одной строке из данного множества: 2-ая строка входного файла
содержит S(1), 3-я - S(2), . . . , (i + 1)-ая - S(i), ... , (n + 1)-ая - S(n). Длины S(i) не превосходят 100, S(i) не пусты и состоят
только из цифр от 0 до 9.

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 8 3 8 11
https://acmp.ru/index.asp?main=alltasks 237/591
2/29/2020 Все задачи сайта
1234
239
366
261
32890
43823490
382390
3043840
5 10 100 0
1
2
2
3
4
5

Задача №444
Список
(Время: 1 сек. Память: 16 Мб Сложность: 35%)
В наше время создатели офисных приложений стараются сделать все для удобства пользователя. Поэтому даже такая
мелочь, как представление на экране списков чисел - например, для вывода номеров страниц, - должна быть тщательно
проработана.
Вы должны реализовать функцию, которая по заданному набору целых чисел будет формировать строку, являющуюся
его самым коротким текстовым представлением. Текстовое представление - строка, состоящая из разделенных запятыми
чисел и диапазонов чисел вида < a, ..., b >, которые используются для записи набора всех чисел от a до b. При этом все
числа, входящие в строку, должны быть упорядочены по возрастанию в том порядке, в котором они встречаются в строке.

Входные данные
Входной файл INPUT.TXT содержит целое число N (1 ≤ N ≤ 1000) - размер набора. Вторая строка содержит N
задающих набор целых чисел, по абсолютной величине не превосходящих 10000, разделенные пробелами. Одно число
может встречаться в этом описании несколько раз.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно из кратчайших текстовых представлений заданного набора чисел.
Следите за правильной расстановкой пробелов. Выходной файл в примере содержит ровно четыре пробела.

Пример
№ INPUT.TXT OUTPUT.TXT
7 -1, 1, 3, ..., 6
1
1 3 5 -1 1 4 6

Задача №445
Покупки
(Время: 1 сек. Память: 16 Мб Сложность: 56%)
Во многих фирмах, занимающихся торговлей, существует должность менеджера по закупкам. Как известно, они
занимаются тем, что по торговому плану, представляющему собой список наименований товаров, для каждого из которых
указано необходимое количество, закупает указанные в нем товары на оптовых базах. Торговый план при этом
составляется руководством компании. Иногда у менеджеров по закупкам возникает желание принести выгоду не только
своей фирме, но и себе.
Только что, как раз после подписания очередного торгового плана на заказ n наименований товаров, открылась новая
оптовая база. Как это часто бывает сразу после открытия, ее цены на многие товары ниже заложенных в план. Наверное,
этим можно воспользоваться.
На закупку товаров были выделены деньги из расчета того, что все товары будут закупаться на старой оптовой базе.
Менеджер хочет, воспользовавшись возможностью покупать товары на новой базе, потратить как можно меньше денег на
закупку требуемого количества товаров (не потраченные деньги он, конечно, сможет забрать себе).

https://acmp.ru/index.asp?main=alltasks 238/591
2/29/2020 Все задачи сайта

Чтобы не вызывать сильных подозрений, производить на новой базе закупки, суммарная запланированная стоимость
которых была больше, чем d денежных единиц, не следует. Осталось только рассчитать, какие товары и в каком количестве
следует закупать на новой базе, чтобы осталось как можно больше не потраченных денег.

Входные данные
Первая строка содержит четыре числа: n (1 ≤ n ≤ 1000), d, а так же k1 и k2 (1 ≤ k1, k2 ≤ 1000) - количества
наименований товаров, имеющихся на открытых ранее и новой базе соответственно. После этого идут n строк, каждая из
которых содержит название товара в плане и его количество (положительное вещественное число). За ними следуют два
блока из k1 и k2 строк соответственно, отделенные от предыдущего и разделенные между собой переводом строки -
наименования товаров на базах и цены за единицу товара соответственно. Все цены являются положительными числами,
даже на новой базе.
Названия товаров состоят из не более, чем 100 английских букв и символов подчеркивания, при этом регистр букв не
учитывается. Вещественные числа заданы не более чем с двумя знаками после десятичной точки и по величине не
превосходят 106. Гарантируется, что все товары из плана можно купить на старой базе. Считайте, что любой товар на
любой базе можно покупать в любом дробном количестве, а также что при оплате можно использовать любое дробное
количество денежных единиц.

Выходные данные
В выходной файл OUTPUT.TXT выведите n вещественных чисел, по одному на строке, задающих количество
соответствующего товара, закупаемого на новой базе. На i-ой строке выведите количество товара, идущего i-ым в плане.
Ошибки менее 0.01 будут игнорироваться.

Пример
№ INPUT.TXT OUTPUT.TXT
4 11.00 5 4 2.0000
Salt 3 0.5000
suGar 0.5 0.0000
Powdered_MilK 7 0.0000
fLoUR 8

flOuR 1
CINNAmOn 8
1
saLt 0.5
SuGAr 20
poWdErED_MILk 3

FLOur 2
SALT 0.4
liQUID_HydRoGen 10000
sUgAR 10

Задача №446
Табло
(Время: 1 сек. Память: 16 Мб Сложность: 20%)
На хоккейном стадионе в одном большом городе расположено большое прямоугольное табло. Оно имеет n строк и m
столбцов (то есть состоит из n x m ячеек). Во время хоккейного матча это табло служит для отображения счета и времени,
прошедшего с начала тайма, а в перерывах на нем показывают различную рекламу.
В связи с этим возникла задача проверки возможности показа на этом табло определенной рекламной заставки.
Заставка также, как и табло, имеет размер n строк на m столбцов. Каждая из ячеек заставки окрашена в один из четырех
цветов - трех основных: красный - R, зеленый - G, синий - B и черный - .(точка).
Каждая из ячеек табло характеризуется своими цветопередаточными возможностями. Любая из ячеек табло может
отображать черный цвет - это соответствует тому, что на нее вообще не подается напряжение. Также каждая из ячеек
может отображать некоторое подмножество множества основных цветов. В этой задаче эти подмножества будут
кодироваться следующим образом:

0 - ячейка может отображать только черный цвет;


https://acmp.ru/index.asp?main=alltasks 239/591
2/29/2020 Все задачи сайта

1 - ячейка может отображать только черный и синий цвета;


2 - ячейка может отображать только черный и зеленый цвета;
3 - ячейка может отображать только черный, зеленый и синий цвета;
4 - ячейка может отображать только черный и красный цвета;
5 - ячейка может отображать только черный, красный и синий цвета;
6 - ячейка может отображать только черный, красный и зеленый цвета;
7 - ячейка может отображать только черный, красный, зеленый и синий цвета.

Напишите программу, которая по описанию табло и заставки определяет: возможно ли на табло отобразить эту
заставку.

Входные данные
Первая строка входного файла INPUT.TXT содержит целые числа n и m (1 ≤ n, m ≤ 100). Далее идут n строк по m
символов каждая - описание заставки. Каждый из символов описания заставки принадлежит множеству {R, G, B, .} . Их
значения описаны выше.
После этого идет описание табло. Оно содержит n строк по m чисел, разделенных пробелами. Значения чисел описаны
выше.

Выходные данные
В выходной файл OUTPUT.TXT выведите YES, если на табло возможно отобразить заставку и NO - в противном
случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 3 NO
.GB
R.B
1 RG.
0 1 2
3 4 5
6 7 0
2 3 YES
RGB
2 .G.
7 7 7
7 7 7

Задача №447
Последняя цифра N!
(Время: 1 сек. Память: 16 Мб Сложность: 39%)
Требуется найти последнюю ненулевую цифру числа N! = 1*2*3*…*N.

Входные данные
Входной файл INPUT.TXT содержит единственное натуральное число N (N ≤ 9999).

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1
2 5 2

https://acmp.ru/index.asp?main=alltasks 240/591
2/29/2020 Все задачи сайта

Задача №448
Простые гири
(Время: 1 сек. Память: 16 Мб Сложность: 54%)
Имеются гири с массами: 1 г, 2 г, …, N г .Требуется написать программу, распределяющую эти гири на максимально
возможное количество пар так, чтобы суммарный вес гирь в каждой паре выражался простым числом.

Входные данные
Входной файл INPUT.TXT содержит единственное натуральное число N, не превосходящее 500 000.

Выходные данные
В выходной файл OUTPUT.TXT выведите список найденных пар. Каждая пара выводится в одной строке через
пробел.

Пример
№ INPUT.TXT OUTPUT.TXT
7 1 6
1 7 4
5 2

Задача №449
Плавающие числа
(Время: 1 сек. Память: 16 Мб Сложность: 41%)
Дано N целых чисел. Каждое из них можно один раз изменить не более чем на целую величину L как в сторону
увеличения, так и в сторону уменьшения или оставить без изменения. Если после такой операции некоторые из чисел
оказываются равными, то они засчитываются за одно. С данными числами произвели указанную операцию таким образом,
что осталось минимально возможное количество чисел. Требуется написать программу для определения этого количества.

Входные данные
Входной файл INPUT.TXT содержит в первой строке натуральные числа L и N (N ≤ 100, L ≤ 3200), во второй строке N
чисел (в диапазоне от -32768 до 32767), записанных через пробел.

Выходные данные
В выходной файл OUTPUT.TXT выведите единственное число – ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
10 3 1
1
11 21 27
5 3 2
2
6 10 27

Задача №450
Бутылки - 2
(Время: 1 сек. Память: 16 Мб Сложность: 51%)
В цех вторичной переработки поступают бутылки N видов: A, B, C, … (первые N заглавных букв английского
алфавита). Бутылки поступают на переработку партиями из N контейнеров, причем в каждом контейнере могут находиться
бутылки различных видов. Перед вторичной переработкой бутылок специальные рабочие сортируют их по видам таким
образом, чтобы после сортировки в каждом из поступивших контейнеров остались бутылки только одного вида. В каждом
из контейнеров может помещаться неограниченное количество бутылок.
Требуется написать программу, которая определяет минимальное количество перемещений бутылок, обеспечивающих
их сортировку по видам, причем за каждое перемещение можно переместить только одну бутылку из одного контейнера в
https://acmp.ru/index.asp?main=alltasks 241/591
2/29/2020 Все задачи сайта

другой.

Входные данные
Входной файл INPUT.TXT состоит из N+1 строк. В первой строке записано число N (1≤N≤8). Во второй строке
располагаются разделенные пробелами N целых числа, соответствующие количеству бутылок вида A, B, C, … в первом
контейнере. В последующих строках содержится аналогичная информация для второго, третьего, …, N-го контейнеров
соответственно. Известно, что количество бутылок в каждом из контейнеров не превосходит 32767.

Выходные данные
Выходной файл OUTPUT.TXT должен состоять из двух строк. В первой располагается последовательность из
символов A, B, C, …, которая определяет какого вида бутылки находятся после сортировки в 1-м, 2-м, …, N-м
контейнерах. Во второй строке располагается число, определяющее искомое количество перемещений бутылок. Если
возможно несколько вариантов ответа, то необходимо выдать любой из них.

Пример
№ INPUT.TXT OUTPUT.TXT
4 ABCD
1 2 3 4 102
1 5 6 7 8
9 10 11 12
13 14 15 16

Задача №451
Арифметическое выражение
(Время: 1 сек. Память: 16 Мб Сложность: 66%)
Требуется вычислить значение арифметического выражения, в записи которого могут использоваться вещественные
числа, круглые скобки, бинарные операции «+», «-», «*» и «/», а так же функции cos(x) и sin(x). Вычисление следует
проводить согласно синтаксису языка Pascal.

Входные данные
Входной файл INPUT.TXT содержит единственную строку, в которой находится запись арифметического выражения.
Длина строки не превышает 200 символов. В строке могут содержаться любые символы. Гарантируется, что при
корректном вычислении выражения не будет возникать переполнения 6-байтного вещественного типа и деления на ноль.

Выходные данные
В выходной файл OUTPUT.TXT выведите значение заданного арифметического выражения с точностью, не меньше
10-3. В том случае, когда в выражении присутствуют синтаксические ошибки, следует вывести «Error».

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2+3 5
2 7*8 - 120/6 + 4 40
3 10/(6-2)+8 10.5
4 sin(3.14/2)+cos(2-6/3) 2
5 three plus five Error

Задача №452
Система счисления Фибоначчи
(Время: 1 сек. Память: 16 Мб Сложность: 51%)
Числа Фибоначчи F1, F2, … определяются начальными значениями и соотношением:
F1=1; F2=2; Fn=Fn-1+Fn-2.
https://acmp.ru/index.asp?main=alltasks 242/591
2/29/2020 Все задачи сайта

Рассмотрим систему счисления с двумя цифрами 0 и 1, в которой, в отличие от двоичной системы, весами являются не
степени двойки 1, 2, 4, 8, 16, …, а числа Фибоначчи 1, 2, 3, 5, 8, 13, …. В этой системе счисления каждое положительное
целое число единственном способом представляется в виде строки из нулей и единиц, которая начинается с 1 и в которой
нет двух единиц, стоящих рядом.
Требуется написать программу, которая по двум заданным строкам, представляющим числа A и B в системе счисления
Фибоначчи, находила строку, представляющую число A+B также в этой системе счисления.
Например, исходные строки 10101 и 100 представляют числа 1*8+0*5+1*3+0*2+1*1=8+3+1=12 и 1*3+0*2+0*1=3.
Ответом является строка 100010, представляющая число 1*13+0*8+0*5+0*3+1*2+0*1=13+2=15=12+3.

Входные данные
Входной файл INPUT.TXT в первой строке содержит число A и B во второй. Длина записи чисел A, B и их суммы A+B
в системе счисления Фибоначчи не превышает 255 знаков.

Выходные данные
В выходной файл OUTPUT.TXT выведите значение суммы A+B в системе счисления Фибоначчи.

Пример
№ INPUT.TXT OUTPUT.TXT
10101 100010
1
100

Задача №453
Раз-два, раз-два
(Время: 1 сек. Память: 16 Мб Сложность: 49%)
Для заданного натурального числа N требуется найти число, состоящее только из цифр 1 и 2, которое делилось бы на
2N.

Входные данные
Входной файл INPUT.TXT содержит натуральное число N, не превосходящее 300.

Выходные данные
В выходной файл OUTPUT.TXT выведите искомое число, состоящее не более чем из 10 000 цифр.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 2
2 2 12

Задача №454
Оставшееся число
(Время: 1 сек. Память: 16 Мб Сложность: 45%)
Задан ряд последовательных натуральных чисел от M до N (M < N), из которого удаляют сначала все числа, стоящие
на нечетных местах. Затем, из оставшегося ряда удаляют все числа, стоящие в нем на четных местах. Эти действия
повторяют до тех пор, пока не останется одно число.
Требуется написать программу, которая находит оставшееся число.

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

Входной файл INPUT.TXT содержит число M в первой строке и число N во второй (M < N < 109).

https://acmp.ru/index.asp?main=alltasks 243/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT выведите оставшееся число.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2
1
4
2 7
2
9

Задача №455
Умножение дроби
(Время: 1 сек. Память: 16 Мб Сложность: 64%)
Задана некоторая правильная периодическая дробь Q и натуральное число N.
Требуется написать программу, которая определяет результат умножения Q на N, то есть непериодическую часть и
минимальный период числа Q×N. В случае получения результата умножения в виде конечной дроби скобки опускаются.

Входные данные
Входной файл INPUT.TXT в первой строке содержит число Q, во второй строке записано число N. В записи числа Q
используется не более 100 цифр. При изображении дроби Q периодическая часть заключается в круглые скобки. N –
натуральное число, не превосходящее 1000.

Выходные данные
В выходной файл OUTPUT.TXT выведите результат умножения Q на N.

Примеры
№ INPUT.TXT OUTPUT.TXT
0.1(6) 0.5
1
3
12.(3) 24.(6)
2
2

Задача №456
Сундук Билли Бонса
(Время: 0,5 сек. Память: 16 Мб Сложность: 33%)
Билли Бонс положил в сундук некоторое количество золотых монет. На второй год он вынул из сундука
положительное количество монет. Начиная с третьего года, он добавлял столько монет, сколько было в сундуке два года
назад.
Требуется написать программу, которая определит, сколько монет было в сундуке в первый и во второй года, если в X-
м году там оказалось ровно Y монет.

Входные данные
Входной файл INPUT.TXT содержит натуральные числа X и Y (3 ≤ X ≤ 20, 1 ≤ Y ≤ 32767).

Выходные данные
В выходной файл OUTPUT.TXT выведите через пробел количество монет в первый и второй года. Гарантируется, что
решение задачи всегда существует.

Пример

https://acmp.ru/index.asp?main=alltasks 244/591
2/29/2020 Все задачи сайта

№ INPUT.TXT OUTPUT.TXT
1 6 25 5 2

Пояснение к примеру
Если в первый год положить 5 монет, а во второй год вынуть 3 монеты, то начиная с первого года в сундуке будет 5, 2,
7, 9, 16, 25, ... монет.

Задача №457
Постоянная Капрекара
(Время: 1 сек. Память: 16 Мб Сложность: 22%)
Возьмем четырехзначное число, в котором не все цифры одинаковы, например 6264. Расположим цифры сначала в
порядке убывания - 6642; затем, переставив их в обратном порядке, получим 2466. Вычтем последнее число из 6642. На
следующем шаге с полученной разностью проделаем тоже самое. Через несколько таких действий получится число,
переходящее само в себя и называемое постоянной Капрекара.
Требуется написать программу, которая находит эту постоянную и количество шагов для ее получения из заданного
четырехзначного числа.

Входные данные
Входной файл INPUT.TXT содержит одну строку, в которой записано четырехзначное число.

Выходные данные
В выходной файл OUTPUT.TXT записываются: в первой строке постоянная Капрекара, во второй – количество шагов
для ее получения.

Пример
№ INPUT.TXT OUTPUT.TXT
1234 6174
1
3

Задача №458
Шифровка - 2
(Время: 1 сек. Память: 16 Мб Сложность: 35%)
Для кодирования сообщения используют следующие действия: сообщение записывают, опуская пробелы, в
прямоугольник заданной высоты по столбцам, а затем прочитывают строки в заданном порядке.
1 П Р И А
2 Р А Р Н
3 О М О И
4 Г М В Е

а затем, если выбрать порядок строк 3, 1, 2, 4, получают закодированное сообщение ОМОИПРИАРАРНГМВЕ.


Требуется написать программу, которая по заданным высоте прямоугольника и порядке прочтения строк при
кодировке декодирует заданное сообщение.

Входные данные
Входной файл INPUT.TXT содержит: в первой строке высоту прямоугольника H (2 ≤ H ≤ 10), во второй – порядок
прочтения строк (числа записаны через пробел), в третьей – закодированное сообщение, длина которого составляет от 1 до
200 символов. Закодированное сообщение состоит из заглавных и строчных русских букв в DOS-кодировке (CP 866) и
цифр.

Выходные данные
В выходной файл OUTPUT.TXT записывается декодированное сообщение.

https://acmp.ru/index.asp?main=alltasks 245/591
2/29/2020 Все задачи сайта

Примеры
№ INPUT.TXT OUTPUT.TXT
4 ПРОГРАММИРОВАНИЕ
1 3 1 2 4
ОМОИПРИАРАРНГМВЕ
2 физика
2 2 1
ииафзк

Задача №459
Нить Ариадны
(Время: 1 сек. Память: 16 Мб Сложность: 49%)
Тезею из лабиринта Минотавра помог выйти клубок ниток. Вы можете вместо клубка использовать персональный
компьютер.
Требуется написать программу, которая вводит маршрут Тезея в лабиринте и находит кратчайший обратный путь, по
которому Тезей сможет выйти из лабиринта, не заходя в тупики и не делая петель.

Входные данные
Входной файл INPUT.TXT содержит маршрут Тезея, который представлен строкой, состоящей из букв: N, S, W, E и
длиной от 1 до 200.
Буквы означают:

N - один "шаг" на север,


S - один "шаг" на юг,
W - один "шаг" на запад,
E - один "шаг" на восток.

Выходные данные
В выходной файл OUTPUT.TXT записывается аналогично входному файлу найденный обратный путь. Если маршрут
неоднозначен, то следует выбирать согласно следующему приоритету: N, E, S, W.

Пример
№ INPUT.TXT OUTPUT.TXT
1 EENNESWSSWE NWW

Задача №460
Пятерки
(Время: 1 сек. Память: 16 Мб Сложность: 57%)
Задано натуральное N. Требуется написать программу, которая определит количество цифр 5 в записи всех
натуральных чисел от 1 до N включительно.

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

Во входном файле INPUT.TXT в единственной строке задается число N ≤ 1018.

Выходные данные
В выходной файл OUTPUT.TXT записывается найденное число – количество пятерок.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 27 3
https://acmp.ru/index.asp?main=alltasks 246/591
2/29/2020 Все задачи сайта

2 120 22

Задача №461
Выборы
(Время: 1 сек. Память: 16 Мб Сложность: 26%)
В одном из государств все решения традиционно принимались простым большинством голосов на общем собрании
граждан, которых, к счастью, было не очень много. Одна из местных партий, стремясь прийти к власти как можно более
законным путем, смогла добиться некоторой реформы избирательной системы. Главным аргументом было то, что
население острова в последнее время значительно возросло, и проведение общих собраний перестало быть легкой задачей.
Суть реформы состояла в следующем: с момента введения ее в действие все избиратели острова делились на K групп
(необязательно равных по численности). Голосование по любому вопросу теперь следовало проводить отдельно в каждой
группе, причем считалось, что группа высказывается "за", если "за" голосует более половины людей в этой группе, а в
противном случае считалось, что группа высказывается "против". После проведения голосования в группах
подсчитывалось количество групп, высказавшихся "за" и "против", и вопрос решался положительно в том и только том
случае, когда групп, высказавшихся "за", оказывалось более половины общего количества групп.
Эта система вначале была с радостью принята жителями острова. Когда первые восторги рассеялись, очевидны стали,
однако, некоторые недостатки новой системы. Оказалось, что сторонники партии, предложившей систему, смогли оказать
некоторое влияние на формирование групп избирателей. Благодаря этому, они получили возможность проводить
некоторые решения, не обладая при этом реальным большинством голосов.
Пусть, например, на острове были сформированы три группы избирателей, численностью в 5, 5 и 7 человек
соответственно. Тогда партии достаточно иметь по три сторонника в каждой из первых двух групп, и она сможет провести
решение всего 6-ю голосами "за", вместо 9-и, необходимых при общем голосовании.
Требуется написать программу, которая по заданному разбиению избирателей на группы определит минимальное
количество сторонников партии, достаточное для принятия любого решения.

Входные данные
Входной файл INPUT.TXT состоит из двух строк. В первой строке записано натуральное число K < 1001 - количество
групп избирателей. Во второй строке через пробел записаны K натуральных чисел, которые задают количество
избирателей в группах. Население острова не превосходит 30000 человек.

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 6
1
5 5 7
5 5
2
4 2 1 3 7

Задача №462
Числа
(Время: 1 сек. Память: 16 Мб Сложность: 36%)
Задано натуральное число N. Требуется написать программу, которая находит количество натуральных чисел, не
превышающих N и не делящихся ни на одно из чисел 2, 3, 5.

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

Входной файл INPUT.TXT содержит число N (1 ≤ N ≤ 109).

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

https://acmp.ru/index.asp?main=alltasks 247/591
2/29/2020 Все задачи сайта

Примеры
№ INPUT.TXT OUTPUT.TXT
1 10 2
2 20 6

Задача №463
Остаток
(Время: 1 сек. Память: 16 Мб Сложность: 44%)
Дано натуральное число n в k-ичной системе счисления.
Требуется написать программу, которая находит остаток от деления этого числа на заданное натуральное число m.

Входные данные
Входной файл INPUT.TXT содержит в первой строке натуральные числа k и m (2 ≤ k ≤ 36, m ≤ 32767), записанные
через пробел. Во второй строке задается натуральное число n в k-ой системе счисления, состоящее не более чем из 10000
цифр. Числа k и m записываются в десятичной системе счисления. Для записи цифр числа в системе счисления с
основанием, большим 10, используются английские заглавные буквы (10 – A, 11 – B, …, 35 – Z).

Выходные данные
В выходной файл OUTPUT.TXT выведите искомое число, записанное в десятичной системе счисления.

Примеры
№ INPUT.TXT OUTPUT.TXT
10 2 1
1
17
16 35 23
2
7DF99

Задача №464
Число в последовательности
(Время: 1 сек. Память: 16 Мб Сложность: 35%)
Последовательность 011212201220200112… строится следующим образом: сначала пишется 0, затем повторяется
следующее действие: уже написанную часть приписывают справа с заменой 0 на 1, 1 на 2, 2 на 0, и т.д.
Требуется написать программу, которая по заданному натуральному числу N определяет, какое число стоит на N-ом
месте.

Входные данные
Входной файл INPUT.TXT содержит число N (1 ≤ N ≤ 2147483647).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно искомое число.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 0
2 10 2

Задача №465
Последовательности из 0 и 1
https://acmp.ru/index.asp?main=alltasks 248/591
2/29/2020 Все задачи сайта

(Время: 1 сек. Память: 16 Мб Сложность: 47%)


Рассмотрим последовательности длины N, состоящие из 0 и 1. Требуется написать программу, которая по заданному
натуральному числу N определяет количество тех из них, в которых никакие две единицы не стоят рядом.

Входные данные
Входной файл INPUT.TXT содержит число N (1 ≤ N ≤ 1000).

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 3
2 3 5

Задача №466
Функция
(Время: 1 сек. Память: 16 Мб Сложность: 42%)
Функция f(n) определена следующим образом:
f(0)=0, f(1)=1, f(2n)=f(n), f(2n+1)=f(n)+f(n+1).
Требуется написать программу, которая по заданному натуральному числу N определяет значение функции f(N).

Входные данные
Входной файл INPUT.TXT содержит число N (1 ≤ N ≤ 2147483647).

Выходные данные
В выходной файл OUTPUT.TXT выведите значение f(N).

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 1
2 5 3

Задача №467
Закраска прямой - 2
(Время: 1 сек. Память: 16 Мб Сложность: 61%)
Определение. Интервал прямой с целочисленными координатами [a, b) содержит левую границу – точку a и не
содержит правую границу – точку b.

Интервал от 0 до 109 выкрасили в белый цвет. Затем было выполнено N операций перекрашивания. При каждой
операции цвета в интервале, границы которого задаются, меняются на противоположный (белый на черный, черный на
белый).
Требуется написать программу, которая найдет самый длинный интервал белого цвета после заданной
последовательности операций перекрашивания.

Входные данные
Входной файл INPUT.TXT содержит в первой строке число N (1 ≤ N ≤ 500) и затем N строк с границами интервалов
(числа в диапазоне от 0 до 109).

https://acmp.ru/index.asp?main=alltasks 249/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – длину самого большого белого интервала.

Пример
№ INPUT.TXT OUTPUT.TXT
4 15
20 50
1 10 35
40 90
100 1000000000

Задача №468
Числовая последовательность - 2
(Время: 1 сек. Память: 16 Мб Сложность: 66%)
Дана последовательность натуральных чисел 7, 11, 13, 14, 19, 21, 22, 25, ….
Требуется написать программу, которая по заданному N находит N-ый член этой последовательности.

Входные данные
Входной файл INPUT.TXT содержит число N (1 ≤ N ≤ 2147483647).

Выходные данные
В выходной файл OUTPUT.TXT выведите N-ый член последовательности.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 7
2 6 21

Задача №469
Химическая тревога
(Время: 1 сек. Память: 16 Мб Сложность: 50%)
Произошло радиоактивное заражение местности. Составлена карта зараженности. Она представляет собой
прямоугольную таблицу N×M, в клетках которой записана зараженность соответствующего участка.
Требуется написать программу, которая найдет путь из левой верхней клетки таблицы в правую нижнюю клетку с
минимальной суммарной дозой радиации.

Входные данные
Входной файл INPUT.TXT содержит в первой строке числа N и M, а в следующих N строках – по M чисел – карта
зараженности местности. Числа в строках разделяются одним пробелом. 1 ≤ N ≤ 30, 1 ≤ M ≤ 30, зараженность участка –
целое число от 0 до 100.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно число – суммарную долю радиации.

Пример
№ INPUT.TXT OUTPUT.TXT
1 3 5 9
2 100 0 100 100

https://acmp.ru/index.asp?main=alltasks 250/591
2/29/2020 Все задачи сайта
1 100 0 0 0
1 0 3 100 2

Задача №470
Земельный комитет
(Время: 5 сек. Память: 16 Мб Сложность: 41%)
Земельный комитет города принял решение о сдаче в аренду части муниципальной территории, имеющей форму
прямоугольника размером H на W километров. Стоимость аренды каждого квадратного участка 1×1 км была определена с
учётом локальных условий, и занесена в таблицу.
С целью организации открытого тендера на аренду, земельный комитет решил выставить на своём веб-сайте карту
территории, и предоставить посетителям возможность узнавать суммарную стоимость аренды для произвольной
прямоугольной группы соседних участков.
Данное предложение вызвало большой интерес у населения и предпринимателей, и нагрузка на сервер очень высока.
Требуется написать программу, позволяющую как можно более эффективно рассчитывать стоимость аренды для N
запросов. В каждом запросе требуется определить общую стоимость участков внутри прямоугольной группы с
противоположными углами, расположенными в элементах таблицы (ai, bi) и (ci, di).

Входные данные
В первой строке входного файла INPUT.TXT находятся числа H, W, N (1 ≤ H, W ≤ 100, 1 ≤ N ≤ 106). В следующих H
строках содержится по W чисел (стоимости участков находятся в диапазоне от 0 до 10 000). Далее идут N строк с числами
ai, bi, ci и di (1 ≤ ai ≤ ci ≤ H, 1 ≤ bi ≤ di ≤ W).

Выходные данные
В выходной файл OUTPUT.TXT должен содержать N чисел, по одному числу в строке.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 3 1 16
5 1 2
1
6 7 3
2 1 2 3

Задача №471
Ход конем
(Время: 1 сек. Память: 16 Мб Сложность: 53%)
Шахматная ассоциация решила оснастить всех своих сотрудников такими
телефонными номерами, которые бы набирались на кнопочном телефоне ходом коня. 1 2 3
Например, ходом коня набирается телефон 340-49-27. При этом телефонный номер не
может начинаться ни с цифры 0, ни с цифры 8.
4 5 6
Требуется написать программу, определяющую количество телефонных номеров
длины N, набираемых ходом коня.
7 8 9
Входные данные
Входной файл INPUT.TXT содержит натуральное число N (N ≤ 100). 0

Выходные данные
В выходной файл OUTPUT.TXT выведите искомое количество телефонных номеров.

Примеры
№ INPUT.TXT OUTPUT.TXT

https://acmp.ru/index.asp?main=alltasks 251/591
2/29/2020 Все задачи сайта
1 1 8
2 2 16

Задача №472
Подарки
(Время: 1 сек. Память: 16 Мб Сложность: 39%)
Приближался Новый год и отец купил своим детям по подарку. Оказалось, что в них разное количество конфет. Тогда
отец купил еще конфет и стал их раскладывать по подаркам следующим образом: брал один из подарков с наименьшим
количеством конфет и добавлял в него одну конфету.
Требуется написать программу, которая найдет наименьшее количество конфет, оказавшихся в одном из подарков
после завершения раскладывания всех конфет.

Входные данные
Входной текстовый файл INPUT.TXT содержит в первой строке N – количество детей и M – количество купленных
конфет. Числа записаны через пробел, 1 ≤ N ≤ 10 000, 1 ≤ M ≤ 1 000 000. Далее в N строках записаны числа в диапазоне от
1 до 30000 – количество конфет в подарках.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно найденное число.

Пример
№ INPUT.TXT OUTPUT.TXT
2 4 3
1 1
2

Задача №473
Автомобильные пробки
(Время: 1 сек. Память: 16 Мб Сложность: 48%)
Автомобильные пробки случаются везде, даже в нашем небольшом городе. Дороги у нас имеют по две полосы в
одном направлении, а автомобили только двух видов: легковые (в пробке занимают квадратное место 1×1 от ширины
одной полосы) и грузовые (занимают прямоугольное место 1×2). Автомобилисты очень дисциплинированы: не становятся
поперек полосы, не занимают чужую площадь, но и не оставляют свободных мест.
Требуется написать программу, которая определит количество различных автомобильных пробок длины N.

Входные данные
Входной файл INPUT.TXT содержит одно натуральное число N (N ≤ 1000).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать найденное количество автомобильных пробок.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 4
2 3 9

Задача №474
Последовательность Кеане
(Время: 1 сек. Память: 16 Мб Сложность: 57%)

https://acmp.ru/index.asp?main=alltasks 252/591
2/29/2020 Все задачи сайта

Бесконечная последовательность битов, предложенная Кеане, равна 001001110001001110110110001… и формируется


следующим алгоритмом: вначале записывается 0, потом 001, далее 001001110, то есть, для получения следующего члена,
предыдущий записывается дважды, а справа приписывается его отрицание. Элементы этого ряда являются начальными
подпоследовательностями Кеане.
Требуется написать программу, которая по заданному n определит N-й бит этой последовательности.

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

Входной файл INPUT.TXT содержит число N (N ≤ 10200).

Выходные данные
В выходной файл OUTPUT.TXT должен содержать найденный бит.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 1
2 18 0

Задача №475
Арифметическая прогрессия - 2
(Время: 1 сек. Память: 16 Мб Сложность: 38%)
Задана последовательность натуральных чисел из диапазона [1, 2147483647]. Необходимо определить: можно ли
выстроить эти числа в отрезок арифметической прогрессии. При необходимости порядок чисел в последовательности
можно изменять.
Требуется написать программу для решения этой задачи.

Входные данные
Входной файл INPUT.TXT содержит последовательность натуральных чисел. Количество чисел в последовательности
может быть от 2 до 100 000. Числа в файле разделены пробелами или символами перехода на новую строку.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать либо «Yes» в случае положительного ответа, либо «No» в
противоположном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 80 50 10 30 70 40 20 60 90 Yes
2 1 2 3 5 No

Задача №476
Ферзя в угол!
(Время: 1 сек. Память: 16 Мб Сложность: 43%)
Рассмотрим бесконечную вправо и вверх шахматную доску, на которой стоит ферзь. Двое по очереди двигают этого
ферзя. Разрешается двигать ферзя только вниз, влево или по диагонали вниз влево на любое положительное количество
клеток в выбранном направлении. Цель игры – задвинуть ферзя в угол, то есть клетку с координатами (1, 1). На рисунке
показаны разрешенные движения ферзя.
Требуется написать программу, которая найдет номер игрока, который выиграет при правильной игре.

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

https://acmp.ru/index.asp?main=alltasks 253/591
2/29/2020 Все задачи сайта

Входной файл INPUT.TXT содержит координаты ферзя перед первым ходом - два числа M
и N, записанные через пробел (1 ≤ M, N ≤ 250). Гарантируется, что ферзь изначально не
находится в клетке с координатами (1,1).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать найденный номер победителя.

Примеры

№ INPUT.TXT OUTPUT.TXT
1 3 2 2
2 6 7 1

Задача №477
Простая игра
(Время: 1 сек. Память: 16 Мб Сложность: 50%)
Дед Мазай и заяц играют в очень простую игру. Перед ними – огромная куча из N одинаковых морковок. Каждый из
них во время своего хода может взять из этой кучи любое количество морковок, равное неотрицательной степени числа 2,
т.е. 1, 2, 4, 8,… . Начинает игру либо дед Мазай, либо заяц. Затем игроки ходят по очереди. Тот, кто возьмет последнюю
морковку, тот и выигрывает.
Требуется написать программу, которая при заданных исходных данных определяет победителя в этой игре. При этом
следует учитывать, что игроки играют оптимально.

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

Входной файл INPUT.TXT содержит единственное целое положительное число N (N ≤ 10250), задающее число
морковок в начале игры.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать в первой строке цифру «1», если выиграет тот, кто ходит первым,
или цифру «2» – в противном случае. Если игру выиграл тот, кто ходил первым, то во второй строке этого файла должно
содержаться минимальное число морковок, которое должен взять игрок, выполнявший ход первым, чтобы гарантировать
свою победу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 2
8 1
2
2

Задача №478
Коррозия металла
(Время: 1 сек. Память: 16 Мб Сложность: 55%)
Для хранения двух агрессивных жидкостей A и B используется емкость с многослойной перегородкой, которая
изготавливается из имеющихся N листов. Для каждого листа i (i = 1, …, N) известно время его растворения жидкостью A
— ai и жидкостью B — bi. Растворение перегородки каждой из жидкостей происходит последовательно лист за листом, с
постоянной скоростью по толщине листа.
Требуется написать программу проектирования такой перегородки, время растворения которой было бы
максимальным.

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

https://acmp.ru/index.asp?main=alltasks 254/591
2/29/2020 Все задачи сайта

В первой строке входного файла INPUT.TXT записано число N (1 ≤ N ≤ 256). В каждой из последующих N строк
содержатся два положительных вещественных числа ai и bi, разделенные пробелом (числа не превышают 106 и состоят не
более чем из 11 значащих цифр).

Выходные данные
В первую строку выходного файла OUTPUT.TXT записать время растворения перегородки с точностью, не меньшей
10-3. В следующую строку файла записать номера листов в порядке их расположения от жидкости A к жидкости B,
разделяя числа пробелами.

Пример
№ INPUT.TXT OUTPUT.TXT
4 6.000
1 2 4 2 1 3
1 1 2
0.5 1.5
7 3.5

Задача №479
Муравей и дерево
(Время: 1 сек. Память: 16 Мб Сложность: 63%)
Муравей находится в лесу с плоской поверхностью почвы в точке с координатами (x1, y1) и направляется в точку (x2,
y2). В лесу растет дерево, основание ствола которого имеет форму круга с центром в точке (x, y) и радиусом r. Дерево,
возможно, помешает муравью дойти до цели по прямой. В таком случае ему придется обойти дерево вокруг ствола.
Требуется написать программу, которая определит длину кратчайшего пути муравья.

Входные данные
Входной файл INPUT.TXT содержит вещественные числа x1, y1, x2, y2, x, y, r. Числа записаны через пробел и
находятся в диапазоне от 0 до 1000, r>0. Начальная и конечная точки пути муравья не могут находиться внутри круга.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать единственное вещественное число – длину кратчайшего пути. Ответ
следует выводить с точностью не менее трех знаков после запятой.

Пример
№ INPUT.TXT OUTPUT.TXT
1 0 0 4 4 2 2 1 6.014

Задача №480
Игра с монетами
(Время: 1 сек. Память: 16 Мб Сложность: 47%)
Гриша и Дима играют в следующую игру: они разложили однокопеечные монетки в стопки (в разных стопках может
быть различное количество монет), а стопки расположили на столе перед собой в ряд слева направо. Затем Гриша и Дима
по очереди делают ходы. На каждом ходе один из игроков берет слева несколько стопок, не меньше одной, но и не больше,
чем перед этим взял его соперник. Первый игрок своим первым ходом берет не более K стопок. Игра заканчивается, когда
стопок не остается.
Требуется написать программу, позволяющую вычислить, какое максимальное число монет может получить первый
участник после окончания игры, если второй – тоже старается ходить так, чтобы получить как можно больше монет.

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

https://acmp.ru/index.asp?main=alltasks 255/591
2/29/2020 Все задачи сайта

Входной файл INPUT.TXT состоит из одной строки, в которой записаны: число стопок N (1 ≤ N ≤ 180), за ним идут N
чисел, задающих количество монет в стопках слева направо (количество монет в стопке – не менее 1 и не более 20000), а
затем число K, ограничивающее количество стопок, которые первый игрок может взять на первом ходе (1 ≤ K ≤ 80). Все
числа в строке разделены пробелом.

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести одно число – максимальное количество монет, которое заведомо
может получить первый игрок, как бы ни играл второй.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 4 9 1 3 14
2 4 1 2 2 7 3 5
3 5 3 4 8 1 7 2 18

Задача №481
Количество палиндромов
(Время: 1 сек. Память: 16 Мб Сложность: 49%)
Непустая строка, содержащая некоторое слово, называется палиндромом, если это слово одинаково читается как слева
направо, так и справа налево. Пусть задана строка, в которой записано слово S, состоящее из N букв английского алфавита.
Путем вычеркивания из этого слова некоторого набора символов, можно получить строку, которая будет палиндромом.
Требуется написать программу, с помощью которой можно определить, сколько существует способов вычеркивания из
заданного слова некоторого (возможно пустого) набора символов, чтобы образованная таким образом строка была
палиндромом. Способы, отличающиеся порядком вычеркивания символов, считаются одинаковыми.

Входные данные
В первой и единственной строке входного файла INPUT.TXT записано слово S, состоящее из N символов (1 ≤ N ≤ 30).

Выходные данные
В выходной файл OUTPUT.TXT выведите найденное число способов.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 AAA 7
2 BAOBAB 22

Задача №482
Короткая последовательность
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Дано целое число N. Рассмотрим последовательность S1S2S3...Sk..., где каждая группа цифр Sk состоит из записанных
одно за другим чисел от 1 до k. Например, первые 75 цифр последовательности выглядят так:
112123123412345123456123456712345678123456789123456789101234567891011123456.
Требуется написать программу, которая определит: какая цифра находится на N-ой позиции в построенной
последовательности.

Входные данные
Входной файл INPUT.TXT содержит одно число N (0 < N < 32768).

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

https://acmp.ru/index.asp?main=alltasks 256/591
2/29/2020 Все задачи сайта

В выходной файл OUTPUT.TXT выведите цифру, которая стоит на N-ой позиции в последовательности.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 2
2 20 5

Задача №483
Двоичная машина
(Время: 1 сек. Память: 16 Мб Сложность: 53%)
На вход некоторой двоичной машине подается n-разрядное двоичное число. Машина подвергает поданное число
следующим преобразованиям:

1. Записывает исходное число в регистры A и B размером N двоичных разрядов (бит).


2. N-1 раз выполняет следующие действия: циклически сдвигает регистр B на один бит влево (при этом самый старший
бит переходит в самый младший); прибавляет к значению регистра A значение регистра B по модулю 2N .
3. К регистру A применяется побитовая операция логического отрицания
4. К регистру A прибавляется 1 по модулю 2N.
5. Значение регистра A выдается в качестве результата c отбрасыванием ведущих (незначащих) нулей.

Например, если на вход машине подать число 1001, то будут выполнены следующие преобразования:

№ шага A B Result
1. 1001 1001
2. (повтор. 1) 1100 0011
2. (повтор. 2) 0010 0110
2. (повтор. 3) 1110 1100
3. 0001 1100
4. 0010 1100
5. 0010 1100 10

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

Входные данные
Первая строка входного файла INPUT.TXT содержит число N – количество двоичных разрядов (N ≤ 100 000). Вторая
строка содержит ровно N двоичных разрядов (нулей или единиц) – входное число.

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ – результат преобразования в двоичном виде без ведущих нулей.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 10
1
1001
7 101
2
1101101

Задача №484
Трубопровод
(Время: 1 сек. Память: 16 Мб Сложность: 60%)

https://acmp.ru/index.asp?main=alltasks 257/591
2/29/2020 Все задачи сайта

В некоторой корпорации при производстве различных химических веществ используется сложная система
трубопроводов для слива отходов. При монтаже трубопровода использовались стандартные элементы, состоящие из двух
задвижек, двух входов и одного выхода (рис. 1).
Такие элементы объединяются вместе, как показано на рисунке 2, где изображен трубопровод до 4 уровня. Здесь
обозначение Layer – указывает на слой (уровень) задвижек.

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


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

Входные данные
Входной файл INPUT.TXT содержит одно целое число S – номер начальной задвижки (1 ≤ S ≤ 433494435).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать последовательность номеров задвижек. Последовательность должна
начинаться с числа S и заканчиваться числом 1. Элементы последовательности идут в порядке убывания, разделяются
пробелами и (или) символами конца строк.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 8 8 4 2 1
2 5 5 2 1
3 6 6 3 1
4 10 10 6 3 1

Задача №485
Рыбаки
(Время: 1 сек. Память: 16 Мб Сложность: 29%)
Говорят, что однажды Дираку предложили решить следующую задачу.
Трое рыбаков отправились на рыбалку. Наловив рыбы, они устроились на ночлег. Проснувшись, один из рыбаков
решил взять свою долю (третью часть) и отправиться домой. Пересчитав рыбу, он заметил, что на троих выловленная
рыба не делится – остается одна лишняя. Недолго думая, первый рыбак выкинул лишнюю рыбу в море, взял свою долю и
отправился домой.
Затем проснулся второй рыбак. Не заметив, что один из его товарищей уже уехал, он тоже стал делить
оставшуюся рыбу на троих, и у него тоже получилась одна лишняя рыба. Поступив с лишней рыбой, также как и первый
рыбак, он забрал долю, которую считал своей и поехал домой.
Третий рыбак также не обнаружил исчезновения своих товарищей и тоже стал делить рыбу на троих. И у него
получилась одна лишняя рыба, которую он выкинул, после чего забрал третью часть и отбыл домой.
Вопрос, заданный Дираку, звучал так: сколько рыбы поймали рыбаки?
Обобщим данную задачу следующим образом.

https://acmp.ru/index.asp?main=alltasks 258/591
2/29/2020 Все задачи сайта

Однажды N рыбаков отправились на рыбалку, где поймали X рыб. После этого рыбаки легли спать. Утром,
просыпаясь друг за другом, каждый из них делил выловленную рыбу на N частей. Каждый раз в остатке оставалось ровно
K рыб (0 < K < N). Эти K рыб выбрасывались обратно в море. Рыбак забирал свою часть улова и отбывал домой, не зная
ничего о том, поступал ли уже кто-либо из остальных рыбаков таким же образом.
Ваша задача – определите при заданных N и K минимально возможное целое положительное значение X – число рыб,
удовлетворяющее условию задачи.

Входные данные
Входной файл INPUT.TXT содержит два целых числа N и K, разделенные пробелом (2 ≤ N ≤ 8, 0 < K < N).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно целое положительное число X – наименьшее возможное
количество выловленной рыбаками рыбы.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 1 25
2 4 3 247

Задача №486
Рыбаки - 2
(Время: 1 сек. Память: 16 Мб Сложность: 53%)
Однажды N рыбаков отправились на рыбалку, где поймали X рыб. После этого рыбаки легли спать. Утром,
просыпаясь друг за другом, каждый из них делил выловленную рыбу на N частей. Каждый раз в остатке оставалось ровно
K рыб (0 < K < N). Эти K рыб выбрасывались обратно в море. Рыбак забирал свою часть улова и отбывал домой, не зная
ничего о том, поступал ли уже кто-либо из остальных рыбаков таким же образом.
Ваша задача – определите при заданных N и K минимально возможное целое положительное значение X – число рыб,
удовлетворяющее условию задачи.

Входные данные
Входной файл INPUT.TXT содержит два целых числа N и K, разделенные пробелом (2 ≤ N ≤ 15, 0 < K < N).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно целое положительное число X – наименьшее возможное
количество выловленной рыбаками рыбы.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 1 25
2 4 3 247

Задача №487
Игра "Баше"
(Время: 1 сек. Память: 16 Мб Сложность: 49%)
Студент и профессор играют в игру «Баше» по следующим правилам.
На столе лежат N экзаменационных билетов. Игроки делают ходы поочередно, и в свой ход каждый из игроков может
взять от 1 до K билетов. Выигрывает тот игрок, который возьмет билет, оставшийся последним. Т.е. если его возьмет
студент, то он получит «зачет», иначе он получит «незачет».
Будем называть сделанный ход ошибочным, если в этой ситуации можно было сходить иначе, гарантируя себе в
дальнейшем выигрыш независимо от игры соперника. Будем называть ход правильным (или допустимым), если он не
https://acmp.ru/index.asp?main=alltasks 259/591
2/29/2020 Все задачи сайта

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

Входные данные
В первой строке входного файла INPUT.TXT записаны три целых числа: N, K, P (2 ≤ N ≤ 10000, 2 ≤ K ≤ 100, 2 ≤ P).
Здесь P – количество ходов, которые сделали студент и профессор. В последующих P строках записаны числа (по одному
числу на строке) в диапазоне от 1 до K.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать P строк по одному символу на строке: «T» (правильный или
допустимый ход – от слова True) или «F» (неверный ход – от слова False).

Пример
№ INPUT.TXT OUTPUT.TXT
10 5 3 F
3 F
1
3 T
4

Задача №488
Праздничный торт
(Время: 1 сек. Память: 16 Мб Сложность: 58%)
На дне рождения Пети на стол подали круглый торт, украшенный разноцветными розочками. Причем, на торте было
ровно по две небольших розочки каждого цвета, а различных цветов было ровно K. Тем самым, общее число розочек было
равно 2*K.
Одноклассник Пети Вася, славящийся своими математическими способностями, разрезал торт прямолинейными
разрезами так, что каждый разрез прошел через две розочки одинакового цвета. (Понятно, что таких разрезов оказалось
ровно K.)
При этом оказалось, что:

никакие три разреза не прошли через одну точку,


никакие два разреза не совпали и не оказались параллельными.

Напишите программу, которая по заданному радиусу торта, и координатам розочек определяет, на сколько частей был
разделен торт.

Входные данные
В первой строке входного файла INPUT.TXT содержатся два числа: действительное число R (радиус торта) и целое
число K – количество различных цветов (1 ≤ K ≤ 100). В каждой из последующих K строк записано по четыре числа,
разделенных пробелами: X1, Y1, X2, Y2 – координаты двух розочек каждого цвета. Центр торта находится в начале
координат. Радиус торта и координаты розочек – действительные числа, не превышающие по абсолютной величине 100 и
содержащие не более 6 цифр после запятой.

Выходные данные
В выходной файл OUTPUT.TXT выведите целое число – количество частей, на которые был разрезан торт.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 1 2
1
-1 -1 1 1
2 5 3 6

https://acmp.ru/index.asp?main=alltasks 260/591
2/29/2020 Все задачи сайта
1 4 1 -3
-3.5 0 4 1.5
-3 3 0 -4

Задача №489
Монеты
(Время: 1 сек. Память: 16 Мб Сложность: 40%)
На столе лежат произвольным образом N сказочных монет: M1, M2, …, Mn. Ученик Паша проводит следующий
эксперимент. Он K раз выполняет следующие действия: берет некоторую монету, переворачивает ее, кладет ее в
произвольное свободное место на столе и записывает номинал этой монеты в протокол.
После этого Паша закрывает одну монету (любую) и предлагает Маше угадать номинал и верхнюю сторону закрытой
монеты.
Маше доступны следующие исходные данные:

начальный набор монет,


набор монет на столе после эксперимента,
протокол переворачиваний.

Пусть Паша положил на стол монеты (N=8): 10, –5, 1, 50, 1, 100, –1, 9. Здесь абсолютная величина числа соответствует
номиналу монеты, а знаком «–» помечены монеты, положенные орлом вверх.
Пусть в протоколе записано 7 ходов (K=7): 10, 10, 5, 10, 50, 100, 1 (здесь номиналы указываются без знака).
После того, как Паша закрыл одну монету, на столе остались монеты (перечисляются в произвольном порядке): –100,
–10, –50, 1, 5, 1, 9.
Подумав некоторое время, Маша сказала, что закрыта монета номиналом 1 решкой вверх.
Напишите программу, которая по известным N и K определяет закрытую монету и ее верхнюю сторону. Если вам
потребуется, можно дополнительно использовать протокол переворачиваний, который также будет задан во входном
файле.

Входные данные
В первой строке входного файла INPUT.TXT записаны два целых числа: N и K – количество монет на столе и
количество переворачиваний (1 ≤ N ≤ 10000, 1 ≤ K ≤100000). Во второй строке записаны N целых чисел (монеты в начале
эксперимента). В третьей строке записано N-1 целое число (монеты в конце эксперимента). Последующие одна или
несколько строк содержат K целых положительных чисел (номиналы тех монет, которые переворачиваются), разделенных
пробелами или признаком конца строки. Условные номиналы монет заданы целыми числами в диапазоне от 1 до 1000.

Выходные данные
В выходном файле OUTPUT.TXT должно быть записано одно целое число – номинал закрытой монеты либо без знака
(если монета лежит решкой вверх), либо со знаком «–», если монета лежит орлом вверх.

Пример
№ INPUT.TXT OUTPUT.TXT
8 7 1
10 -5 1 50 1 100 -1 9
1
-100 -10 -50 1 5 1 9
10 10 5 10 50 100 1

Задача №490
Дни рождения
(Время: 1 сек. Память: 16 Мб Сложность: 27%)
Два одноклассника Петя и Вася родились не ранее 1993 и не позднее 1994 года, причем, Петя старше Васи.
Напишите программу, которая по заданным дням рождения определяет: на сколько дней Петя старше Васи.
Заметим, что 1993 и 1994 года не являются високосными, т.е. в феврале в них ровно 28 дней.
https://acmp.ru/index.asp?main=alltasks 261/591
2/29/2020 Все задачи сайта

Входные данные
Входной файл INPUT.TXT содержит дату рождения Пети в первой строке и дату рождения Васи во второй. Даты
заданы в формате «ДД.ММ.ГГ», например, строка 06.02.93 означает дату рождения 6 февраля 1993 года.

Выходные данные
В выходной файл OUTPUT.TXT выведите единственное число – искомое количество дней.

Примеры
№ INPUT.TXT OUTPUT.TXT
01.01.93 1
1
02.01.93
05.02.94 28
2
05.03.94

Задача №491
Антипалиндром
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Палиндромом называют строку, читающуюся одинаково с обеих сторон. Задана строка s. Найдите ее наибольшую по
длине подстроку, не являющуюся палиндромом.

Входные данные
Входной файл INPUT.TXT содержит строку s. Она состоит только из строчных букв английского алфавита, не пуста, а
ее длина не превышает 100 000 символов.

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу. Если все подстроки s являются палиндромами, выведите в
выходной файл NO SOLUTION.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 abba abb
2 abc abc
3 aaaaa NO SOLUTION

Задача №492
Сближение с целью
(Время: 1 сек. Память: 16 Мб Сложность: 37%)
Вы являетесь одним из разработчиков программного обеспечения боевой информационной системы для ракетного
крейсера нового поколения РК-2000. Один из компонентов этой системы отвечает за решение задач тактического
маневрирования. В настоящее время вы занимаетесь решением задачи о сближении с целью.
Заданы координаты x0 и y0 цели в начальный момент времени, а также вектор (Vx; Vy) ее скорости. Считается, что
цель движется равномерно и прямолинейно. В начальный момент времени РК-2000 находится в начале координат. Его
максимальная скорость равна V.
Необходимо выяснить, может ли РК-2000 через заданное время t оказаться ровно на заданном расстоянии d от цели.
Для простоты считайте, что РК-2000 может мгновенно изменять свою скорость.

Входные данные
Первая строка входного файла INPUT.TXT содержит два целых числа x0 и y0 (|x0| ≤ 109, |y0| ≤ 109). Вторая строка
входного файла содержит два целых числа Vx и Vy (|Vx| ≤ 106, |Vy| ≤ 106). Третья строка входного файла содержит три
https://acmp.ru/index.asp?main=alltasks 262/591
2/29/2020 Все задачи сайта

целых числа: V , t, d (1 ≤ V ≤ 106, 1 ≤ t ≤ 103, 1 ≤ d ≤ 109).

Выходные данные
В выходной файл OUTPUT.TXT выведите YES, если РК-2000 может через заданное время t оказаться ровно на
заданном расстоянии d от цели, и NO – в противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 NO
1 1 1
1 1 1
1 1 YES
2 1 1
1 1 2

Задача №493
Морской бой - 2
(Время: 1 сек. Память: 16 Мб Сложность: 21%)
«Морской бой» - игра для двух участников, в которой игроки по очереди называют координаты на неизвестной им
карте соперника. Если у соперника по этим координатам имеется корабль, то корабль или его часть «топится», а попавший
получает право сделать еще один ход. Цель игрока - первым поразить все корабли противника.
«Морской бой» очень популярен среди учеников одной физико-математической школы. Ребята очень любят в него
играть на переменах. Вот и сейчас ученики Иннокентий и Емельян начали новую партию.
Правила, по которым ребята расставляют корабли перед началом партии, несколько отличаются от классических. Во-
первых, игра происходит на поле размером N×M, а не 10×10. Во-вторых, число кораблей, их размер и форма выбираются
ребятами перед партией - так играть намного интереснее.
Емельян уже расставил все свои корабли, кроме одного однопалубного. Такой корабль занимает ровно одну клетку.
Задана расстановка кораблей Емельяна. Найдите число способов поставить оставшийся однопалубный корабль. При
этом учитывайте, что по правилам его можно ставить только в ту клетку, все соседние с которой не заняты. В этой задаче
соседними считаются клетки, имеющие общую сторону.

Входные данные
Первая строка входного файла INPUT.TXT содержит два числа: N и M (1 ≤ N, M ≤ 100). Последующие N строк
описывают игровое поле - каждая из них содержит M символов. Символом «.» (точка) обозначена свободная клетка,
символом «*» (звездочка) - занятая кораблем.

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 4 4
****
1 **..
*...
*...
4 3 0
***
2 ...
...
***

https://acmp.ru/index.asp?main=alltasks 263/591
2/29/2020 Все задачи сайта

Задача №494
Отрезок и окружности
(Время: 1 сек. Память: 16 Мб Сложность: 58%)
На плоскости задана система концентрических окружностей, центры которых находятся в начале координат, а радиусы
равны 1, 2, 3, . . . . Также на плоскости задан отрезок, концы которого находятся в точках (x1, y1) и (x2, y2).
Необходимо найти число общих точек этого отрезка и указанной системы окружностей.

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

Входной файл INPUT.TXT содержит четыре целых числа: x1, y1, x2 и y2. Эти числа не превосходят 103 по абсолютной
величине. Заданный отрезок имеет ненулевую длину.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число – количество общих точек.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1 2 1 1
2 1 2 2 1 0

Задача №495
Двойственная ломаная
(Время: 1 сек. Память: 16 Мб Сложность: 35%)
Пусть задана некоторая замкнутая ломаная P. Двойственной для P ломаной называется ломаная, вершины которой
находятся в серединах звеньев P.
Определим понятие двойственной для P ломаной k-ого порядка dual(P, K) следующим образом:

двойственной ломаной нулевого порядка является сама ломаная P (dual(P, 0) = P);


если K > 0, то двойственной ломаной K-ого порядка является ломаная, двойственная для dual(P, K - 1).

Задана замкнутая ломаная P и число K. Найдите длину двойственной для P ломаной k-ого порядка dual(P, K).

Входные данные
Входной файл INPUT.TXT содержит число звеньев исходной ломаной N (3 ≤ N ≤ 100). Каждая из последующих N
строк содержит по два целых числа xi и yi - координаты i-ой вершины ломаной. Все xi и yi не превосходят 105 по
абсолютной величине. Последняя строка входного файла содержит целое число K (0 ≤ K ≤ 10).

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

В выходной файл OUTPUT.TXT выведите искомую длину с точностью не хуже, чем 10-4.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 4
0 0
1 0
1
1 1
0 1
0
2 4 2.8284271247
0 0
1 0
1 1
https://acmp.ru/index.asp?main=alltasks 264/591
2/29/2020 Все задачи сайта
0 1
1

Задача №496
Сбор черники
(Время: 1 сек. Память: 16 Мб Сложность: 17%)
В фермерском хозяйстве в Карелии выращивают чернику. Она растет на круглой грядке, причем кусты высажены
только по окружности. Таким образом, у каждого куста есть ровно два соседних. Всего на грядке растет N кустов.
Эти кусты обладают разной урожайностью, поэтому ко времени сбора на них выросло различное число ягод – на i-ом
кусте выросло ai ягод.

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

Входные данные
Первая строка входного файла INPUT.TXT содержит целое число N (3 ≤ N ≤ 1000) – количество кустов черники.
Вторая строка содержит N целых положительных чисел a1, a2, ..., aN – число ягод черники, растущее на соответствующем
кусте. Все ai не превосходят 1000.

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 9
1
1 2 3 4
3 6
2
1 2 3

Задача №497
Индикатор
(Время: 1 сек. Память: 16 Мб Сложность: 52%)
Недавно Вася приобрел настольный калькулятор с жидкокристаллическим индикатором. Этот индикатор отображает
N цифр с помощью N одинаковых элементов.

Отметим, что каждый элемент содержит семь полосок, каждая из которых может быть либо белой, либо черной. В
частности, при отображении цифры «1» черными являются две полоски.
Вася – очень любознательный мальчик, поэтому он хочет узнать, какое максимальное и минимальное N-значное число
могут быть отображены на индикаторе его нового калькулятора так, чтобы черными были ровно K полосок.
Напишите программу, которая найдет ответ на Васин вопрос. Учитывайте при этом, что числа не могут содержать
ведущие нули.

Входные данные
Входной файл INPUT.TXT содержит два натуральных числа N и K (1 ≤ N ≤ 100, 1 ≤ K ≤ 700).

Выходные данные
https://acmp.ru/index.asp?main=alltasks 265/591
2/29/2020 Все задачи сайта

В первой строке выходного файла OUTPUT.TXT выведите минимальное число, во второй строке выходного файла
выведите максимальное число. Если указанным образом не может быть представлено ни одно число, выходной файл
должен содержать одну строку NO SOLUTION.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 15 10117
1
97111
2 10 1 NO SOLUTION

Задача №498
K-перестановки
(Время: 1 сек. Память: 16 Мб Сложность: 44%)
Назовем перестановку из N чисел 1…N K-перестановкой, если любые два соседних в ней элемента отличаются не
более, чем на K.
Требуется найти число K-перестановок из N чисел от 1 до N.

Входные данные
Входной файл INPUT.TXT содержит натуральные числа N и K (K ≤ N ≤ 9).

Выходные данные
В выходной файл OUTPUT.TXT выведите целое число - ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 1 2
2 4 2 12

Задача №499
Турист
(Время: 1 сек. Память: 16 Мб Сложность: 22%)
Гена собирается на туристический слет учеников своей школы. В своем классе он был назначен ответственным за
палатки. У себя дома он нашел 3 палатки: первая из них весит a1 килограмм и вмещает b1 человек, вторая весит a2
килограмм и вмещает b2 человек, третья весит a3 килограмм и вмещает b3 человек.
В классе Гены K человек. Выясните, может ли он выбрать палатки так, чтобы в них все могли поместиться. При этом
учитывайте, что выбранные палатки должны суммарно весить не более W килограмм.

Входные данные
Первая строка входного файла INPUT.TXT содержит два целых числа: K и W (1 ≤ K ≤ 15, 1 ≤ W ≤ 30). Вторая строка
содержит шесть целых чисел: a1, b1, a2, b2, a3, b3 (1 ≤ a1, a2, a3 ≤ 10, 1 ≤ b1, b2, b3 ≤ 15).

Выходные данные
В выходной файл OUTPUT.TXT выведите YES, если палатки указанным образом выбрать можно, и NO в противном
случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
10 10 YES
1
5 5 6 6 4 5

https://acmp.ru/index.asp?main=alltasks 266/591
2/29/2020 Все задачи сайта
2 10 10 NO
5 5 6 6 7 7

Задача №500
Агент
(Время: 1 сек. Память: 16 Мб Сложность: 34%)
Агент Джеймс Бонд пошел на пенсию, но неугомонный характер требовал новых впечатлений. Поэтому Джеймс Бонд
с удовольствием согласился провести мастер-класс в некоторых группах школы «Молодого агента». Тема одного из
занятий – работа агента с напарником. В таком опасном деле, как разведка, важно иметь очень надёжного напарника,
поэтому напарниками могут стать только агенты, которые максимально близки по возрасту (т.е. два агента не могут стать
напарниками, если в группе существует третий агент, который старше одного и младше другого).
Задание Бонда состоит в том, чтобы агенты нашли друг другу напарников таким образом, чтобы у каждого агента был
хотя бы один напарник (всего у агента может быть 2 напарника – один младше, и один старше него, но эти двое не
считаются напарниками между собой). Очевидно, что группа из 4 и более агентов может поделиться несколькими
способами.
После нескольких занятий Бонд узнал способности групп, обучающихся в школе «Молодого агента», и оценил риск
раскрытия каждого агента в отдельности. Но специфика работы с напарником такова, что в паре риску подвергается только
старший из двух агентов, поэтому группу надо распределить так, чтобы суммарный риск был минимален.

Входные данные
В первой строке входного файла INPUT.TXT находится одно целое число N – количество агентов в группе (2 ≤ N ≤
10000). Во второй строке находятся N пар целых положительных чисел, разделенных пробелом. Первое число в паре – это
возраст агента (в днях) из диапазона [5000, 16000], второе – риск раскрытия агента, число в диапазоне [1, 1000]. Известно,
что в любой группе все агенты разного возраста.

Выходные данные
В выходной файл OUTPUT.TXT выведите единственное число – минимальное значение суммарного риска раскрытия
группы.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 5
1
6000 2 5500 3 5000 4
5 7
2
5005 1 5004 2 5003 3 5002 4 5001 5

Задача №501
Строение
(Время: 1 сек. Память: 16 Мб Сложность: 25%)
Администрация города подбирает площадку для строительства новых спортивных сооружений. На рассмотрении
несколько проектов, каждый проект требует выделения некоторого прямоугольного участка земли. Некоторые участки
оказались частично или полностью в пользовании частными лицами, а в случае утверждения проекта администрация будет
вынуждена выкупить этот участок, поэтому для определения стоимости очень важно знать площадь пересечения участков.
Участки частников также прямоугольной формы (рис. 1) и стороны всех участков параллельны координатным осям. Для
каждого проекта был построен план, включающий подобранный участок и его окружение. В приведенном примере
показано пересечение участков частников (тонкая линия) с участком, подобранным для строительства (толстая линия).
Помогите определить суммарную площадь пересечения участков частников с участком, выбранным для строительства.
При этом следует учесть, что выкупаемая земля может принадлежать сразу нескольким участникам и в этом случае
необходимо выкупать землю многократно (одна и та же площадь земли может быть посчитана несколько раз).

https://acmp.ru/index.asp?main=alltasks 267/591
2/29/2020 Все задачи сайта

Входные данные
В первой строке входного файла INPUT.TXT содержится число N - количество участков частников, отображенных на
плане. Затем следуют N строк с координатами двух вершин этих прямоугольных участков. В последней строке плана
координаты участка, подобранного для строительства. Координаты противоположных вершин одного прямоугольника
описываются в формате X1 Y1 X2 Y2. Координатами вершин являются целые, неотрицательные числа, не больше 100.
Количество исходных прямоугольников не больше 20.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT следует вывести одно целое число – искомую суммарную
площадь пересечения прямоугольников.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 25
1 15 15 25 25
10 10 20 20
2 29
15 15 25 25
2
5 5 12 12
10 10 20 20

Задача №502
Лягушонок
(Время: 1 сек. Память: 16 Мб Сложность: 39%)
Многие, вероятно, слышали песни про приключения лягушонка Crazy Frog. На этот раз неугомонное милое создание
решило подкрепиться, но даже такое простое действие решило выполнить в виде игры. Итак, в каждой клетке квадратного
игрового поля, разбитого на N×N (N ≤ 50) клеток, находится один комар весом aij (вес комара – натуральное число ≤ 50), i -
номер строки, j - номер столбца. Лягушонок, прыгая с клетки на клетку, ест комаров. Правила игры таковы - в каждом
столбце можно съесть не более одного комара. Всякий раз при съедании комара запоминаем номер строки, откуда съеден
комар, и сумма номеров строк, в которых были съедены комары, в конце игры должна быть в точности равна N. Учтите,
если из какой-то строки съедено несколько комаров, то номер данной строки участвует в суммировании более одного раза.
Определите максимальный вес комаров, который можно съесть при следовании приведённым правилам.

Входные данные
Первая строка входного файла INPUT.TXT содержит число N. Следующие N строк содержат по N чисел aij,
разделенных пробелами.

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

https://acmp.ru/index.asp?main=alltasks 268/591
2/29/2020 Все задачи сайта

В выходной файл OUTPUT.TXT выведите целое число – вес съеденных комаров.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 14
8 2 1
1
1 2 6
2 7 2
5 19
8 2 1 2 3
1 2 6 2 4
2
2 7 2 3 4
1 3 2 4 4
1 3 4 3 1

Задача №503
Бюро путешествий
(Время: 3 сек. Память: 32 Мб Сложность: 80%)
Далеко не все в Тентуре имеют право носить малиновые штаны, и конечно, не все владеют пепелацем с гравицапой,
поэтому для большинства жителей проблема перемещения между планетами была неразрешимой. Но с некоторых пор
один предприимчивый чатланин с планеты Плюк вышел на рынок пассажирских перевозок, и за немного чатлов, готов
перевозить желающих с планеты на планету. Рейс начинается с планеты Плюк, включает нескольких других планет, и
завершается там же, на планете Плюк. Однако при подготовке рейса возникли неожиданные проблемы. Например, если
чатланин с планеты Плюк хочет попасть на планету, которая является в рейсе предпоследней – ему невольно придётся
посетить все планеты, которые находятся в рейсе между планетой Плюк и его точкой назначения. Очевидно, что часть
планет в этом списке могут оказаться пацакскими. Но каждый чатланин обязан носить цак на пацакской планете и,
наоборот, каждый пацак должен носить цак на чатланской планете. (Цак — колокольчик для носа, знак отличия для
относительно низшей касты на данной планете). А процедура ношения цака унизительна во всех смыслах этого слова…
Поскольку данное бюро путешествий пока не имеет представительств на других планетах, перевозка осуществляется
только с планеты Плюк на какую-либо другую, либо с другой планеты на Плюк. Задача планирования рейса упрощается –
можно посещать планеты в произвольном порядке (но нельзя посещать одну и ту же планету дважды – в пути может
закончиться луц). Необходимо вычислить такой порядок посещения планет, при котором надевать цак на промежуточных
планетах придётся минимальное количество раз.

Входные данные
Первая строка входного файла INPUT.TXT содержит натуральное число N ≤ 22 – количество планет, обслуживаемых
данным рейсом (не считая планеты Плюк). N следующих строк содержат информацию о планетах, в следующем виде: тип
планеты (английская заглавная буква С – чатланская, P – пацакская), количество чатлан, следующих до этой планеты с
Плюка, количество пацаков, следующих до этой планеты с Плюка, количество чатлан, с данной планеты на Плюк,
количество пацаков, с данной планеты на Плюк. Всего пассажиров ≤ 1000.

Выходные данные
В выходной файл OUTPUT.TXT выводится, сколько раз придётся надевать цак при оптимальном маршруте, затем
порядок посещения планет через пробел. Планеты, перечисленные во входном файле, нумеруются начиная с единицы,
планета Плюк имеет номер ноль и всегда указывается в последовательности дважды – в начале и в конце
последовательности. Если существуют несколько оптимальных маршрутов – то следует выбрать тот, где планета с
меньшим номером посещается раньше.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 5 0 2 1 0
1 C 1 4 5 2
P 2 5 1 4
2 4 3 0 1 2 3 4 0
C 3 0 0 0

https://acmp.ru/index.asp?main=alltasks 269/591
2/29/2020 Все задачи сайта
C 3 0 0 1
C 3 0 0 1
C 3 0 0 1

Пояснение
В первом тесте возможны два варианта маршрута: 0 1 2 0, и 0 2 1 0. В первом варианте при посадке на чатланской
планете 1 пятерым пацакам, которые следуют транзитом к своей планете 2, придётся надеть цак, а при следующей посадке
на пацакской планете 2, пятерым чатланинам, которые сели на планете 1 и следуют до Плюка, также придётся надеть цак.
Итого в первом варианте маршрута цак надевается 10 раз. В варианте 2 цак на промежуточных посадках надевается 4 и 1
раз соответственно, всего 5 раз. Второй вариант предпочтительнее.
Во втором тесте все планеты чатланские, поэтому надевать цак придётся только пацакам. С Плюка пацаки не
отправляются, но прибывают с трёх разных планет по одному. Первой посещается единственная планета, где пацак не
заходит в пепелац, затем следуют три планеты с одинаковым набором пассажиров – на втором шаге из трёх оставшихся
равноценных планет выбирается планета номер 2 как имеющая наименьший номер, затем 3 и оставшаяся 4. Пассажир с
последней планеты не имеет промежуточных посадок, с предпоследней совершает одну посадку и надевает цак 1 раз, и
оставшийся пассажир надевает цак на двух промежуточных остановках, итого цак надевается 3 раза.

Задача №504
Цветочки
(Время: 1 сек. Память: 16 Мб Сложность: 12%)
В рождественский вечер на окошке стояло три цветочка, слева направо: герань, крокус и фиалка. Каждое утро Маша
вытирала окошко и меняла местами стоящий справа цветок с центральным цветком. А Таня каждый вечер поливала
цветочки и меняла местами левый и центральный цветок. Требуется определить порядок цветов ночью по прошествии K
дней.

Входные данные
Во входном файле INPUT.TXT содержится натуральное число K – число дней (K ≤ 1000).

Выходные данные
В выходной файл OUTPUT.TXT требуется вывести три английских буквы: «G», «C» и «V» (заглавные буквы без
пробелов), описывающие порядок цветов на окошке по истечении K дней (слева направо). Обозначения: G – герань, C –
крокус, V – фиалка.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 VGC
2 5 CVG

Задача №505
Забор
(Время: 2 сек. Память: 16 Мб Сложность: 46%)
Для парка культуры и отдыха было решено изготовить забор. Чтобы забор не портил
своим невзрачным видом облик города, архитекторы решили сделать забор фигурным, и
разработали несколько различных шаблонов для изготовления секций забора. Шаблон
представляет собой многоугольник, где три стороны всегда одинаковы, а четвертая сторона
(верхняя часть забора) представляет ломаную линию. Проекции вершин этой ломаной
линии на основание забора следуют равномерно, и таким образом шаблон описывается как
последовательность высот точек. Высота точек указывается в целых миллиметрах и
варьируется от 0 до 2047.
Количество точек в шаблоне равняется L . Архитекторы разработали M шаблонов, и
завод изготовил по шаблонам N секций. Пример секции с L = 7 изображен на рисунке.
При транспортировке секций забора до парка произошла авария, и готовые секции
забора рассыпались и перемешались. При разборе завалов были выполнены измерения секций, и теперь, зная высоты,
https://acmp.ru/index.asp?main=alltasks 270/591
2/29/2020 Все задачи сайта

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

Входные данные
Входной файла INPUT.TXT содержит целые значения L – число точек в шаблоне и секции, M – число различных
шаблонов, N – число найденных секций (1 ≤ L, M ≤ 1000, N ≤ 1000). Далее M строчек содержат информацию о шаблоне:
номер шаблона (натуральное число не более 1000) и L точек шаблона. Далее N строчек содержат информацию о секциях
забора, в каждой строке содержится L точек одной секции забора (высота секции от 0 до 8191).

Выходные данные
В выходной файл OUTPUT.TXT следует вывести N строк, каждая строка содержит номер шаблона, с которым совпала
секция, либо, если подходящего шаблона не найдено, то выводится символ дефиса '-'. В последней строке теста выводится
слово ”OK=” (без кавычек) и число секций, сопоставленных с шаблонами, через пробел символы ”BAD=” и число
испорченных секций.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 2 4 1
1 250 123 0 66 2
2 22 31 120 100 -
1 250 123 0 66 1
22 31 120 100 OK=3 BAD=1
25 31 120 100
250 123 0 66
3 3 4 1
1 55 11 12 2
3 33 1 2 3
2 14 15 2 2
2
55 11 12 OK=4 BAD=0
14 15 2
33 1 2
14 15 2

Задача №506
Игра - 3
(Время: 1 сек. Память: 16 Мб Сложность: 55%)
Петя и Вася увлеклись азартной игрой на деньги. Игра состоит из множества раундов, в каждом из которых бросается
монетка и если выпадает «Решка», то побеждает Петя и получает очко, в противном случае очко присуждается Васе.
Набранные очки в разных раундах суммируются и тот, кто первым наберет N очков, выигрывает.
Вдруг, посреди игры прозвенел звонок, и ребятам пришлось закончить игру. Помогите Пете и Васе справедливо
поделить поставленные на кон монеты между собой в соответствии с математическим ожиданием выигрыша.

Входные данные
Входной файл INPUT.TXT содержит в одной строке 4 целых числа N, K1, K2 и S. Все числа разделены пробелами. N –
количество очков, которые необходимо набрать для победы. K1 и K2 – текущие очки Пети (K1) и Васи (K2). S – число
монет, которые на кону и которые необходимо поделить между игроками.
Ограничения: 1 ≤ N ≤ 50, 0 ≤ K1, K2 < N, 1 < S < 10100.

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

https://acmp.ru/index.asp?main=alltasks 271/591
2/29/2020 Все задачи сайта

В выходной файл OUTPUT.TXT через пробел выведите два целых числа: количество монет, которые должны получить
Петя и Вася. Не забудьте, что сумма этих чисел в точности должна быть равна S. Гарантируется, что однозначный ответ в
целых числах существует.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 1 2 16 4 12
2 4 1 1 2 1 1
3 5 1 4 32 2 30

Задача №507
Адронный коллайдер
(Время: 1 сек. Память: 16 Мб Сложность: 54%)
Внутри адронного коллайдера образовалось N разновидностей новых частиц в количестве A1, … ,AN единиц каждая.
Большая часть новых частиц, однако, успевает прореагировать между собой раньше, чем эти частицы сможет уловить
детектор, поэтому физикам очень важно предсказать конечный итог реакции между частицами.
Для простоты будем считать, что в реакции участвуют 2 частицы, с одним из следующих результатов, в зависимости
от типа:

Первая частица уничтожает вторую


Частицы отскакивают друг от друга без какого-либо вреда

Необходимо определить все возможные исходы эксперимента.

Входные данные
В первой строке входного файла INPUT.TXT задано количество видов частиц N (1 ≤ N ≤ 4). В следующей строке
записаны N чисел, определяющие начальное количество частиц каждого типа Ai (1 ≤ Ai ≤ 2). Следующие N строк
формируют матрицу B[N][N] из чисел 0 и 1. Ненулевое значение ячейки Bij указывает, что частица типа i при
столкновении уничтожает частицу типа j. Если Bij не ноль и Bji не ноль, то в результате взаимодействия уничтожается
либо частица i, либо частица j, но не обе сразу.

Выходные данные
В первой строке выходного файла OUTPUT.TXT следует вывести количество возможных исходов K. В каждой из
последующих K строк должно содержаться описание исхода эксперимента в формате исходного файла.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 3
1 1 2 0 1 0
1 0 0 1 0 0 1
1 0 0 1 0 0
1 1 1
1 1
2 2 2
0

Задача №508
Клеверный лист
(Время: 1 сек. Память: 16 Мб Сложность: 36%)
В одном крупном городе строится объездная автодорога. Она не является кольцевой, то есть имеет западное и
восточное окончание. Наиболее интересными инженерными объектами на дороге, являются, конечно же, мосты.
Очевидно, что железобетонный мост слишком дорогой для участка с одним автомобилем в день, а деревянный мост не

https://acmp.ru/index.asp?main=alltasks 272/591
2/29/2020 Все задачи сайта

способен обслуживать шоссе с десятком машин в минуту. Поэтому для


оправданного проектирования мостов необходимо знать, сколько автомобилей
проезжает через мост.
На дороге будут использоваться преимущественно развязки "клеверный лист",
схема такой развязки изображена на рисунке. Согласно этой схеме, автомобиль,
поворачивающий направо - не едет через мост, автомобиль, поворачивающий налево
(по этой развязке он поворачивает на 270 градусов направо и пересекает свой путь
на другом уровне) - всегда едет через мост, и автомобиль, проезжающий прямо -
может ехать, а может не ехать через мост, тут всё зависит от направления движения.
Исследован поток автомобилей, которые едут по дорогам, пересекающим
объездную дорогу. Необходимо посчитать поток автомобилей, которые поедут через
мосты объездной дороги. Следует помнить, что для некоторых перекрёстков
объездная дорога проходит по земле, а мост содержит поперечная дорога - считать
такие мосты не требуется. Хоть дорога двусторонняя, один тест исследует только
одно направление объездной дороги (например, с запада на восток).

Входные данные
Первая строка входного файла INPUT.TXT содержит число N ≤ 100 – количество перекрёстков, перекрёстки
перечислены с запада на восток. Следующие N строк содержат информацию о типе пересечения, затем о потоке
поперечной дороги. Тип пересечения - английская буква L, означает что объездная дорога проходит по земле, а поперечная
проходит через мост, буква B означает что поперечная дорога проходит по земле, а объездная через мост. Далее указаны 2
числа, показывающее количество автомобилей, покинувших объездную дорогу, первое число - с поворотом налево, второе
- с поворотом направо. Далее указаны 2 числа, показывающее количество автомобилей, выехавших на объездную дорогу,
первое число - с поворотом налево, второе - с поворотом направо. Количество машин по любой из поперечных дорог не
превышает 109.
Гарантируется корректность входных данных (изначально на трассе машин нет, покинуло трассу столько же машин,
сколько и заехало на трассу, точка перекрёсток схода находится позднее перекрёстка захода).

Выходные данные
В выходной файл OUTPUT.TXT выводится одна строка, содержащая N чисел - потоки машин на мост объездной
дороги. Если объездная дорога проходит по земле, а мост - над ней, то выводится -1.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 2 4
1 B 0 0 2 3
B 4 1 0 0
5 9 18 -1 12 8
B 0 0 9 9
B 0 0 0 0
2
L 3 3 0 0
B 0 0 0 0
B 8 4 0 0

Задача №509
Игра Jammed
(Время: 1 сек. Память: 16 Мб Сложность: 58%)
Всем известна игра «Пятнашки», где надо выстроить изначально неупорядоченную последовательность чисел,
перемещая фишки с нанесёнными числами от 1 до 15 в квадрате 4×4. На основе данной игры была разработана другая –
поле в ней лишь 4×2 клетки, на поле 7 фишек, но на фишках изображены буквы английского алфавита и арабские цифры
(на каждой фишке – один символ, но на разных фишках могут быть одинаковые символы). Цель игры прежняя –
упорядочить в соответствии с образцом стартовую расстановку фишек за минимальное количество ходов.
Свободная клетка обозначается специальным символом «#» и используется для перемещения фишек по полю.
Перемещать фишки на свободную клетку разрешается из соседних клеток, имеющих общую грань со свободной.

https://acmp.ru/index.asp?main=alltasks 273/591
2/29/2020 Все задачи сайта

Например, на рисунке более правый символ «0» можно переместить вниз на свободную клетку, тогда «0» будет в нижней
клетке, а пустой станет верхняя клетка, либо в свободную клетку переместить букву «C» или цифру «2».

Входные данные
Входной файл INPUT.TXT содержит четыре строки: две первые строки содержат стартовую комбинацию символов,
следующие две - образец. Каждая строка содержит 4 символа (английский алфавит и арабские цифры), пустая клетка
обозначается символом «#» (решетка).

Выходные данные
В выходной файл OUTPUT.TXT выведите минимальное количество перемещений, необходимых для получения
искомой комбинации. Если нужную комбинацию получить нельзя, выведите число -1.

Примеры
№ INPUT.TXT OUTPUT.TXT
ACM8 17
002#
1
ACM#
2008
rogp 26
mar#
2
prog
ram#

Задача №510
Шоколадка
(Время: 1 сек. Память: 16 Мб Сложность: 40%)
Саша, не сделал домашнюю работу, зато купил шоколадку. И, по глупости, начал распечатывать ее прямо на уроке...
Шелест золотинки услышала учительница. Она хотела вызвать в школу родителей, но Саша уговорил ее не вызывать их, а
дать дополнительное задание.
Учительница внимательно посмотрела на шоколадку (она была размером 3х4 плиток), разделила на кусочки по две
плитки и угостила всех, кто сделал домашнюю работу. А Сашу попросила написать программу, которая определяет,
сколько существует способов деления шоколадки размером 3×N плиток на кусочки по две плитки.
Для выполнения задания Саше нужна помощь.

Входные данные
Входной файл INPUT.TXT содержит натуральное число N – размер плитки, (N < 33).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число – количество возможных способов.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 3
2 4 11
https://acmp.ru/index.asp?main=alltasks 274/591
2/29/2020 Все задачи сайта

Задача №511
Очередь
(Время: 1 сек. Память: 16 Мб Сложность: 20%)
Студент Василий живет в общежитии. Отделение банка, в котором он производит оплату за проживание, имеет всего
две кассы, поэтому почти всегда длинная очередь к ним. Первая касса открывается в 8.00, вторая – в 8.05. Последний
клиент будет принят в 20.00. Очередь единая, и очередной клиент обслуживается, как только освобождается одна из касс.
На обслуживание одного клиента уходит ровно 10 минут. Василий приходит ровно в 8.00 и видит, сколько человек стоит
перед ним. Требуется определить, сколько времени ему придется простоять в очереди, и вообще обслужат ли его сегодня.

Входные данные
Входной файл INPUT.TXT содержит единственное натурально число K – номер Василия в очереди (K < 250).

Выходные данные
В выходной файл OUTPUT.TXT выводится строка «NO», если Василий сегодня заплатить уже не успеет, и время его
ожидания (в формате «X Y», где X – количество целых часов, которые простоит в очереди Василий, и Y – количество
минут), если все же успеет заплатить.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 0 0
2 20 1 35
3 235 NO

Задача №512
Выпускной
(Время: 1 сек. Память: 16 Мб Сложность: 75%)
Вот и еще один учебный год подошел к концу, и старшеклассники спешно начали готовиться к экзаменам. Как всегда
после всех экзаменов должен был состояться выпускной бал, и в школе уже всем ходом шла подготовка к нему. Одной, но
очень обязательной частью этого мероприятия должен был стать вальс, кружиться в котором должно по задумке ровно K
пар. Ответственным за танец был назначен школьный учитель трудов Александр Степанович. По его первому указанию по
всей школе были развешаны объявления о наборе мальчиков и девочек, которые хотят принять участие в танце. По
окончании набора всех желающих, в списке у «Степаныча» было записано N мальчиков и M девочек. Теперь нужно было
сформировать из всего этого ровно K пар, но оказалось, что сделать это не так-то просто. Оказывается, что не каждый
мальчик захочет танцевать с любой девочкой и не каждая девочка согласиться вальсировать с любым мальчиком. Перед
нашим героем встала нелегкая задача и, немного поразмыслив, он решил думать масштабно – а конкретно, сколько же
всего существует вариантов сформировать из N мальчиков и M девочек ровно K пар с учетом их предпочтений? Так как в
рубанках и молотках «Степаныч» понимает больше чем в математике, с просьбой помочь ему он обратился к вам.

Входные данные
В первой строке входного файла INPUT.TXT содержится 3 целых числа: N – количество мальчиков, M – количество
девочек и K – количество пар (1 ≤ N, M, K ≤ 10). Далее идет описание пожеланий мальчиков и девочек – N строк длины M.
Если символ, стоящий в i-ой строке на j-ом месте равен «Y» – это значит что i-й мальчик и j-я девочка могут стоять в паре
и «N» если не могут.

Выходные данные
В выходной файл OUTPUT.TXT выведите целое число - количество различных способов формирования из N
мальчиков и M девочек ровно K пар с учетом их пожеланий.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 4 3 24

https://acmp.ru/index.asp?main=alltasks 275/591
2/29/2020 Все задачи сайта
YYYY
YYYY
YYYY
1 5 1 3
2
YYNNY

Задача №513
Салаты
(Время: 1 сек. Память: 16 Мб Сложность: 26%)
Как-то раз, придя домой со школы, Света обнаружила записку от мамы, в которой она просила сделать салат. Света
знала, что салат – это смесь двух или более ингредиентов, поэтому ей не составило труда выполнить мамину просьбу.
Но Света хочет стать математиком, поэтому, для тренировки, решила посчитать, сколько различных салатов она
сможет сделать из имеющихся продуктов (майонез, огурцы, помидоры). После небольших расчетов она получила ответ: 4.
Зная, что вы любите интересные задачки, и хотите стать программистами, Света попросила вас написать программу,
которая определяет количество различных салатов для произвольного числа ингредиентов.

Входные данные
Входной файл INPUT.TXT содержит натуральное число N – количество имеющихся ингредиентов (N < 32).

Выходные данные
В выходной файл OUTPUT.TXT выведите количество различных салатов.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 4
2 4 11

Задача №514
Лестница
(Время: 1 сек. Память: 16 Мб Сложность: 21%)
Мальчик Петя строит из кубиков лестницу. Лестница представляет собой несколько
строящихся рядом башенок из кубиков, каждая из которых ровно на один кубик выше
предыдущей. Требуется по имеющемуся у мальчика Пети числу кубиков определить, какой в
кубиках будет высота последней ступеньки.

Входные данные
Входной файл INPUT.TXT содержит число К – количество кубиков у мальчика Пети (1 ≤
K ≤ 106).

Выходные данные
В выходной файл OUTPUT.TXT выведите количество кубиков в последней ступеньке у максимально высокой
лестницы, которую можно построить из K кубиков.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1
2 4 2
3 6 3

https://acmp.ru/index.asp?main=alltasks 276/591
2/29/2020 Все задачи сайта

Задача №515
Ловушки
(Время: 1 сек. Память: 16 Мб Сложность: 24%)
Далеко не все в Тентуре имеют право носить малиновые штаны, и конечно, не все владеют пепелацем с гравицапой,
зато один предприимчивый чатланин поставил несколько ловушек, захватывающих отваливающиеся детали с
пролетающих мимо инопланетных кораблей. Каждое утро он их обходит, в надежде, что рано или поздно из этих запчастей
ему удастся собрать какое-нибудь транспортное средство. Путь свой чатланин планирует по карте, на которой аккуратно
отмечены ловушки, отсчитывая начало координат от собственного дома. Начинается обход от дома, и в нем же и
заканчивается.
Требуется определить, какое расстояние проходит чатланин за день.

Входные данные
В первой строке входного файла INPUT.TXT находится натуральное число N – количество ловушек, установленных
чатланином (N ≤ 10), далее следуют N строк формата «X Y», описывающих координаты ловушек в порядке их обхода (-10
≤ X,Y ≤ 10; X,Y – целые числа).

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

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2.000
1
1 0
2 3.414
2 1 0
1 1
3 4.000
1 0
3
1 1
0 1

Задача №516
2-простое число
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Число называется 2-простым, если являются простыми числа, составленные из цифр этого числа в возрастающем и
убывающем порядках.
Требуется написать программу, которая по заданному числу определит его 2-простоту.

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

Входной файл INPUT.TXT содержит натуральное число N (10 < N < 109).

Выходные данные
В выходной файл OUTPUT.TXT выведите сообщение «Yes», если число N является 2-простым и «No» - иначе.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 13 Yes
2 23 No

https://acmp.ru/index.asp?main=alltasks 277/591
2/29/2020 Все задачи сайта

Задача №517
Боулинг
(Время: 1 сек. Память: 16 Мб Сложность: 29%)
Цель при игре в боулинг – сбить шаром максимальное количество кеглей. Партия в этой игре состоит из 10 туров.
Задача игрока – сбить все 10 кеглей в каждом туре. Для этого игрок может совершить 2 броска шара, за исключением:

если 10 кеглей сбиты первым броском, то второй бросок не совершается;


если 10 кеглей сбиты первым броском в десятом туре, то игроку предоставляются два призовых броска, а если двумя
бросками – один.

Количество очков в каждом туре равно количеству сбитых кеглей, кроме двух бросков, называемых «Strike» и «Spare».
Strike: игрок сбивает 10 кеглей первым броском, очки в этом туре начисляются из расчета – 10 + сумма очков за два
последующих броска.
Spare: игрок сбивает 10 кеглей двумя бросками, очки в этом туре начисляются из расчета – 10 + сумма очков за один
последующий бросок.
Результат партии складывается из результатов всех 10 туров.
Требуется написать программу, которая определит количество набранных игроком очков.

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

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно целое число – количество набранных игроком очков.

Примеры
№ INPUT.TXT OUTPUT.TXT
12 300
1
10 10 10 10 10 10 10 10 10 10 10 10
20 0
2
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 173
3
10 10 10 8 2 10 3 4 8 2 4 5 10 4 5

Задача №518
Количество путей в лабиринте
(Время: 1 сек. Память: 16 Мб Сложность: 38%)
Карта лабиринта представляет собой квадратное поле размером N×N. Некоторые квадраты этого поля запрещены для
прохождения. Шаг в лабиринте – перемещение из одной разрешенной клетки к другой разрешенной клетке, смежной с
первой по стороне. Путь – это некоторая последовательность таких шагов. При этом каждую клетку, включая начальную и
конечную, можно посещать несколько раз.
Требуется написать программу, которая подсчитает количество различных путей из клетки (1, 1) в клетку (N, N) ровно
за K шагов (то есть оказаться в клетке (N, N) после K-го шага).

Входные данные
Входной файл INPUT.TXT содержит в первой строке числа N и K, разделенные пробелом (1 < N ≤ 15, 0 < K ≤ 30).
Следующие N строк, по N символов в каждой, содержат карту лабиринта, начиная с клетки (1, 1). Символ «0» означает не
запрещенную для прохождения клетку, а символ «1» - запрещенную. Начальная и конечная клетки всегда разрешены для
прохождения.

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

https://acmp.ru/index.asp?main=alltasks 278/591
2/29/2020 Все задачи сайта

Выходной файл OUTPUT.TXT должен содержать количество возможных различных путей длины K. Во всех тестах
это значение не будет превышать 2147483647.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 6 5
000
1
101
100
2 8 0
2 01
10

Задача №519
Наименьшее и наибольшее числа из тех же цифр
(Время: 1 сек. Память: 16 Мб Сложность: 23%)
Требуется написать программу, которая найдет наименьшее и наибольшее числа, состоящие из тех же цифр, что и
заданное натуральное число N.

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

Входной файл INPUT.TXT содержит натуральное число N (N ≤ 2×109).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать в одной строке наименьшее, а через пробел – наибольшее числа.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 7051 1057 7510
2 851 158 851

Задача №520
Оптовая покупка
(Время: 1 сек. Память: 16 Мб Сложность: 27%)
Пара носков стоит 10 руб. 50 коп., связка (12 пар) стоит 102 руб. 50 коп., а коробка (12 связок) стоит 1140 руб.
Требуется написать программу, которая по числу пар носков, которые хочет купить покупатель, вычисляет количества
коробок, связок и пар носков, которые ему следует купить с наибольшей выгодой.

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

Входной файл INPUT.TXT содержит натуральное число N (N ≤ 109) – число пар носков, которые желает купить
покупатель.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать три числа (первое – количество коробок, второе – связок, третье –
пар носков), разделенные пробелами.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 11 0 1 0
2 500 3 5 8

https://acmp.ru/index.asp?main=alltasks 279/591
2/29/2020 Все задачи сайта

Задача №521
Пасьянс старухи Шапокляк
(Время: 1 сек. Память: 16 Мб Сложность: 25%)
На столе лежат колоды игральных карт. В самой тоненькой колоде – p карт, во второй – p+1, в третьей – p+2, …, в
последней – k карт. Старуха Шапокляк раскладывает пасьянс. Беря в руки любую из колод, она, если число карт в ней
четное, на место возвращает колоду, наполовину уменьшив число карт в ней (лишние убирает в ящик), а если количество
карт в колоде нечетное, то утраивает их количество и добавляет еще одну карту, а уже тогда кладет колоду на стол (карт у
нее в ящике для этой операции достаточно). Если в какой-то колоде остается две карты, она больше ее не трогает. Пасьянс
сходится, если во всех колодах остается по две карты.
Требуется написать программу, которая определит сходится ли пасьянс, и если сходится – сколько раз должна старуха
Шапокляк брать со стола карты.

Входные данные
Входной файл INPUT.TXT содержит 2 числа, записанные через пробел (2 ≤ p < k < 1000).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать 0, если пасьянс не сходится, и, если сходится, количество «ходов»
старухи Шапокляк.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 3 6
2 5 8 28

Задача №522
Похожие массивы
(Время: 1 сек. Память: 16 Мб Сложность: 25%)
Два массива называются похожими, если совпадают множества чисел, встречающихся в этих массивах.
Требуется написать программу, которая определит: похожи ли два заданных массива.

Входные данные
Входной файл INPUT.TXT содержит в первой строке два числа M и N - длины массивов (1 ≤ M, N ≤ 16000). Во второй
строке записаны M чисел – элементы первого массива. В третьей строке записаны N чисел – элементы второго массива.
Числа в строках разделены пробелами, элементы массивов - целые числа, не превышающие 32000 по абсолютной
величине.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать 1, если массивы похожи и 0 иначе.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 3 1
1 1 2 3 2
1 2 3
2 3 0
2 1 2
2 3 1

https://acmp.ru/index.asp?main=alltasks 280/591
2/29/2020 Все задачи сайта

Задача №523
Роман в томах
(Время: 1 сек. Память: 16 Мб Сложность: 41%)
В романе N глав. В i-той главе ai страниц. Требуется издать роман в K томах так, чтобы объем самого «толстого» тома
был минимален. В каждом томе главы располагаются по порядку своих номеров.
Требуется написать программу, которая найдет количество страниц в самом «толстом» томе.

Входные данные
Входной текстовый файл INPUT.TXT содержит в первой строке число N (1 ≤ N ≤ 100). Во второй строке через пробел
записаны N чисел – количество страниц в каждой главе. Количество страниц в романе не превышает 32767. В третьей
строке записано число K (1 ≤ K ≤ N).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать количество страниц в самом «толстом» томе.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 3
1 1 2 1
2
4 2
2 1 2 1 1
3

Задача №524
Слон
(Время: 1 сек. Память: 16 Мб Сложность: 34%)
На шахматной доске 8*8 клеток стоит слон (фигура, которая ходит по диагонали).
Требуется написать программу, которая определит: сможет ли слон дойти до заданной клетки (x, y). Если сможет, то
указать за какое наименьшее количество ходов. Если количество ходов больше одного, то указать через какие
промежуточные клетки он должен пройти. Если таких маршрутов несколько, то указать любой из них.

Входные данные
Входной файл INPUT.TXT содержит четыре числа m, n, x, y. (m, n) – координаты клетки, на которой находится слон,
(x, y) – координаты клетки, на которую надо попасть. Числа m, n, x, y задаются в диапазоне от 1 до 8 и записываются через
пробел.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать в первой строке k – минимальное количество ходов, а далее в k-1
строках по 2 числа через пробел – координаты посещенных клеток. Если слон не может попасть на заданную клетку, то
вывести 0.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 3 1 2
1
2 2
2 1 1 3 3 1
3 1 1 4 1 0

https://acmp.ru/index.asp?main=alltasks 281/591
2/29/2020 Все задачи сайта

Задача №525
Сумма степеней двойки
(Время: 1 сек. Память: 16 Мб Сложность: 43%)
Любое натуральное число можно представить в виде суммы натуральных слагаемых, каждое из которых является
степенью числа 2. Суммы, различающиеся лишь порядком слагаемых, считаются одинаковыми. Например, для числа 7
таких представлений 6 (4+2+1, 4+1+1+1, 2+2+2+1, 2+2+1+1+1, 2+1+1+1+1+1, 1+1+1+1+1+1+1).
Требуется написать программу, которая найдет количество способов такого представления заданного числа N.

Входные данные
Входной файл INPUT.TXT содержит число N (1 ≤ N ≤ 1000).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – найденное количество способов представления числа N.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 4 4
2 7 6

Задача №526
Уравнение по основанию
(Время: 1 сек. Память: 16 Мб Сложность: 35%)
Запись AX обозначает, что A есть запись числа в системе счисления по основанию X. Если X>10, то для записи числа
используются кроме цифр от 0 до 9 заглавные английские буквы от A до Z. При этом условии X не может быть больше 36.
Требуется написать программу, которая по заданным A и B найдет решение уравнения AX = B, либо сообщит об
отсутствии у него решений.

Входные данные
Входной файл INPUT.TXT содержит в первой строке число A (непустую последовательность цифр от 0 до 9 и
заглавных английских букв от A до Z без ведущих нулей), во второй число B (1 ≤ B ≤ 107).

Выходные данные
В выходной файл OUTPUT.TXT выведите либо наименьшее основание системы счисления, удовлетворяющее
уравнению, либо 0, если уравнение не имеет решений.

Примеры
№ INPUT.TXT OUTPUT.TXT
A1 16
1
161
201 0
2
26

Задача №527
Алгоритм Евклида
(Время: 1 сек. Память: 16 Мб Сложность: 40%)
Дима недавно начал изучать информатику. Одним из первых алгоритмов, который он изучил, был алгоритм Евклида
для нахождения наибольшего общего делителя (НОД) двух чисел. Напомним, что наибольшим общим делителем двух
чисел a и b называется наибольшее натуральное число x, такое, что и число a, и число b делится на него без остатка.
Алгоритм Евклида заключается в следующем:
https://acmp.ru/index.asp?main=alltasks 282/591
2/29/2020 Все задачи сайта

1. Пусть a, b – числа, НОД которых надо найти.


2. Если b = 0, то число a – искомый НОД.
3. Если b > a, то необходимо поменять местами числа a и b.
4. Присвоить числу a значение a – b.
5. Вернуться к шагу 2.

Дима достаточно быстро освоил алгоритм Евклида и вычислил с его помощью много наибольших общих делителей.
Поняв, что надо дальше совершенствоваться, ему пришла идея решить новую задачу. Пусть заданы числа a, b, c и d.
Требуется узнать, наступит ли в процессе реализации алгоритма Евклида для заданной пары чисел (a, b) такой момент,
когда число a будет равно c, а число b будет равно d.
Требуется написать программу, которая решает эту задачу.

Входные данные
Первая строка входного файла INPUT.TXT содержит количество наборов входных данных k (1 ≤ k ≤ 100). Далее идут
описания этих наборов. Каждое описание состоит из двух строк. Первая из них содержит два целых числа: a, b (1 ≤ a, b ≤
1018). Вторая строка – два целых числа: c, d (1 ≤ c, d ≤ 1018).

Выходные данные
Для каждого набора входных данных выведите в отдельной строке выходного файла OUTPUT.TXT слово «YES», если
в процессе применения алгоритма Евклида к паре чисел (a, b) в какой-то момент получается пара (c, d), или слово «NO» –
в противном случае.

Пример
№ INPUT.TXT OUTPUT.TXT
2 YES
20 10 NO
1 10 10
10 7
2 4

Задача №528
Замок
(Время: 1 сек. Память: 16 Мб Сложность: 29%)
Замок состоит из K уровней. Каждый уровень - это правильный N-угольник, угол которого
совпадает с углом предыдущего. На сторонах первого уровня находится по две комнаты (в углах),
на сторонах каждого следующего - на одну больше. Сколько в замке комнат?

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

В первой строке входного файла INPUT.TXT указаны два целых числа N и K (3 ≤ N ≤ 106; 1 ≤
K ≤ 106).

Выходные данные
В выходной файл OUTPUT.TXT выведите целое число - количество комнат в замке.

Пример
№ INPUT.TXT OUTPUT.TXT
1 6 3 28

Задача №529
Длина отрезка
(Время: 1 сек. Память: 16 Мб Сложность: 12%)
Отрезок задан координатами своих концевых точек. Требуется вычислить длину этого отрезка.
https://acmp.ru/index.asp?main=alltasks 283/591
2/29/2020 Все задачи сайта

Входные данные
Входной файл INPUT.TXT содержит координаты концов отрезка в формате X1 Y1
X2 Y2 . Все координаты – целые числа, не превышающие 1000 по абсолютной величине.

Выходные данные
В выходной файл OUTPUT.TXT выведите длину отрезка с точностью 10-5.

Пример

№ INPUT.TXT OUTPUT.TXT
1 3 4 8 4 5

Задача №530
Черно-белая графика
(Время: 1 сек. Память: 16 Мб Сложность: 26%)
Одна из базовых задач компьютерной графики – обработка черно-белых изображений. Изображения можно
представить в виде прямоугольников шириной w и высотой h, разбитых на w×h единичных квадратов, каждый из которых
имеет либо белый, либо черный цвет. Такие единичные квадраты называются пикселами. В памяти компьютера сами
изображения хранятся в виде прямоугольных таблиц, содержащих нули и единицы.
Во многих областях очень часто возникает задача комбинации изображений. Одним из простейших методов
комбинации, который используется при работе с черно-белыми изображениями, является попиксельное применение
некоторой логической операции. Это означает, что значение пиксела результата получается применением этой логической
операции к соответствующим пикселам аргументов. Логическая операция от двух аргументов обычно задается таблицей
истинности, которая содержит значения операции для всех возможных комбинаций аргументов.
Например, для операции «исключающее ИЛИ» эта таблица выглядит так:

Первый аргумент Второй аргумент Результат


0 0 0
0 1 1
1 0 1
1 1 0
Требуется написать программу, которая вычислит результат попиксельного применения заданной логической
операции к двум черно-белым изображениям одинакового размера.

Входные данные
Первая строка входного файла INPUT.TXT содержит два целых числа w и h (1 ≤ w, h ≤ 100). Последующие h строк
описывают первое изображение и каждая из этих строк содержит w символов, каждый из которых равен нулю или
единице. Далее следует описание второго изображения в аналогичном формате. Последняя строка входного файла
содержит описание логической операции в виде четырех чисел, каждое из которых – ноль или единица. Первое из них есть
результат применения логической операции в случае, если оба аргумента – нули, второе – результат в случае, если первый
аргумент – ноль, второй – единица, третье – результат в случае, если первый аргумент – единица, второй – ноль, а
четвертый – в случае, если оба аргумента – единицы.

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

Пример

https://acmp.ru/index.asp?main=alltasks 284/591
2/29/2020 Все задачи сайта

№ INPUT.TXT OUTPUT.TXT
5 3 11110
01000 11100
11110 11110
01000
1
10110
00010
10110
0110

Задача №531
Газон
(Время: 1 сек. Память: 16 Мб Сложность: 36%)
Фермер Иван с юности следит за своим газоном. Газон можно считать плоскостью,
на которой в каждой точке с целыми координатами растет один пучок травы.
В одно из воскресений Иван воспользовался газонокосилкой и постриг некоторый
прямоугольный участок газона. Стороны этого участка параллельны осям координат, а
две противоположные вершины расположены в точках (x1, y1) и (x2, y2). Следует
отметить, что пучки травы, находящиеся на границе этого прямоугольника, также были
пострижены.
Довольный результатом Иван купил и установил на газоне дождевальную
установку. Она была размещена в точке с координатами (x3, y3) и имела радиус
действия струи r. Таким образом, установка начала поливать все пучки, расстояние от
которых до точки (x3, y3) не превышало r.
Все было хорошо, но Ивана заинтересовал следующий вопрос: сколько пучков
травы оказалось и пострижено, и полито в это воскресенье?
Требуется написать программу, которая позволит дать ответ на вопрос Ивана.

Входные данные
Первая строка входного файла INPUT.TXT содержит четыре целых числа x1, y1, x2, y2 (−100 000 ≤ x1 < x2 ≤ 100 000;
−100 000 ≤ y1 < y2 ≤ 100 000). Во второй строке записаны три целых числа x3, y3, r (−100 000 ≤ x3, y3 ≤ 100 000; 1 ≤ r ≤ 100
000)

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести одно целое число – число пучков травы, которые были и
пострижены, и политы.

Пример
№ INPUT.TXT OUTPUT.TXT
0 0 5 4 14
1
4 0 3

Задача №532
Трамвай
(Время: 3 сек. Память: 16 Мб Сложность: 74%)
С окраины в центр города каждое утро по одному маршруту едут в трамвае N человек. За долгое время поездок они
достаточно хорошо узнали друг друга. Чтобы никому не было обидно, они захотели решить, кто из них и между какими
остановками маршрута должен сидеть, а кто должен стоять. Все остановки пронумерованы от 1 до P.
Один из пассажиров оказался знатоком теории математического моделирования. Он предложил рассмотреть значение
суммарного удовлетворения пассажиров. Для каждого i-го пассажира он оценил две величины – ai и bi. Если в течение
одного переезда между остановками пассажир сидит, то к суммарному удовлетворению прибавляется ai, если же он стоит,
то прибавляется bi.

https://acmp.ru/index.asp?main=alltasks 285/591
2/29/2020 Все задачи сайта

Всего в трамвае M сидячих мест. Вставать и садиться пассажиры могут мгновенно на любой остановке. Кроме того,
некоторые пассажиры предпочитают ехать стоя, даже если в трамвае есть свободные места (для них ai < bi).
Требуется написать программу, которая вычисляет значение максимально достижимого суммарного удовлетворения,
если для каждого i-го пассажира известны величины ai и bi, а также номера остановок, на которых он садится и выходит из
трамвая.

Входные данные
Первая строка входного файла INPUT.TXT содержит разделенные пробелом три целых числа N, M и P — число
пассажиров, число сидячих мест и число остановок на маршруте соответственно (1 ≤ N, M, P ≤ 100 000; 2 ≤ P).
Каждая из следующих N строк содержит информацию об очередном пассажире в виде четырех целых чисел ai, bi, ci,
di, где первые два числа определяют вклад в параметр счастья, третье – номер остановки, на которой пассажир садится в
трамвай, и последнее – номер остановки, на которой он выходит из трамвая (−106 ≤ ai, bi ≤ 106; 1 ≤ ci < di ≤ P).

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести одно целое число — максимальное суммарное удовлетворение,
которого могут добиться пассажиры.

Пример
№ INPUT.TXT OUTPUT.TXT
4 2 4 28
10 -10 2 3
1 -1 -3 1 4
6 -6 1 3
7 4 2 4

Пояснение к примеру
Максимальное суммарное довольство достигается следующим образом:

На первой остановке входят и садятся второй и третий пассажиры;


На второй остановке входят первый и четвертый пассажиры, второй уступает место первому;
На третьей остановке встают и выходят первый и третий пассажиры, второй и четвертый садятся на их места;
На четвертой остановке выходят второй и четвертый пассажиры.

Задача №533
Треугольники - 3
(Время: 2 сек. Память: 16 Мб Сложность: 66%)
Петя достаточно давно занимается в математическом кружке, поэтому он уже успел освоить не только правила
выполнения простейших операций, но и такое достаточно сложное понятие как симметрия. Для того, чтобы получше
изучить симметрию Петя решил начать с наиболее простых геометрических фигур – треугольников. Он скоро понял, что
осевой симметрией обладают так называемые равнобедренные треугольники. Поэтому теперь Петя ищет везде такие
треугольники.
Напомним, что треугольник называется равнобедренным, если его площадь положительна, и у него есть хотя бы две
равные стороны.
Недавно Петя, зайдя в класс, увидел, что на доске нарисовано n точек. Разумеется, он сразу задумался, сколько
существует троек из этих точек, которые являются вершинами равнобедренных треугольников.
Требуется написать программу, решающую указанную задачу.

Входные данные
Входной файл INPUT.TXT содержит целое число N (3 ≤ N ≤ 1500). Каждая из последующих строк содержит по два
целых числа – xi и yi – координаты i-ой точки. Координаты точек не превосходят 109 по абсолютной величине. Среди
заданных точек нет совпадающих.
https://acmp.ru/index.asp?main=alltasks 286/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 1
0 0
1
2 2
-2 2
4 4
0 0
2 1 1
1 0
0 1

Задача №534
Клавиатура - 2
(Время: 1 сек. Память: 16 Мб Сложность: 25%)
Всем известно, что со временем клавиатура изнашивается, и клавиши на ней начинают залипать. Конечно, некоторое
время такую клавиатуру еще можно использовать, но для нажатий клавиш приходиться использовать большую силу.
При изготовлении клавиатуры изначально для каждой клавиши задается количество нажатий, которое она должна
выдерживать. Если знать эти величины для используемой клавиатуры, то для определенной последовательности нажатых
клавиш можно определить, какие клавиши в процессе их использования сломаются, а какие – нет.
Требуется написать программу, определяющую, какие клавиши сломаются в процессе заданного варианта
эксплуатации клавиатуры.

Входные данные
Первая строка входного файла INPUT.TXT содержит целое число N (1 ≤ N ≤ 100) – количество клавиш на клавиатуре.
Вторая строка содержит n целых чисел – с1, с2, … , сN, где сi (1 ≤ сi ≤ 100000) – количество нажатий, выдерживаемых i-ой
клавишей. Третья строка содержит целое число K (1 ≤ K ≤ 100000) – общее количество нажатий клавиш, и последняя
строка содержит K целых чисел pj (1 ≤ pj ≤ N) – последовательность нажатых клавиш.

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести N строк, содержащих информацию об исправности клавиш.
Если i-ая клавиша сломалась, то i-ая строка должна содержать слово "yes" (без кавычек), если же клавиша работоспособна
– слово "no".

Пример
№ INPUT.TXT OUTPUT.TXT
5 yes
1 50 3 4 3 no
1 16 no
1 2 3 4 5 1 3 3 4 5 5 5 5 5 4 5 no
yes

Задача №535
Неправильное сложение
(Время: 1 сек. Память: 16 Мб Сложность: 41%)
Володя написал программу, которая складывает в столбик два числа. К сожалению, он не разобрался, как правильно
переносить единицу из одного разряда в следующий. Поэтому программа стала выполняться следующим образом. Сначала
она складывает последние цифры обоих чисел и записывает результат, как в случае, если он однозначный, так и в случае,
если он двузначный. Затем программа складывает предпоследние цифры обоих чисел и результат сложения приписывает
https://acmp.ru/index.asp?main=alltasks 287/591
2/29/2020 Все задачи сайта

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

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

Входной файл INPUT.TXT содержит в одной строке три целых числа a, b и c (1 ≤ a, b, c ≤ 106). Все числа в строке
разделены пробелом.

Выходные данные
В первую строку выходного файла OUTPUT.TXT необходимо вывести слово YES, если данные три числа можно
сложить разными способами и получить разные суммы. В противном случае, необходимо вывести слово NO.
В последующих строках необходимо вывести все возможные суммы, которые можно получить, складывая числа a, b и
c. Суммы следует выводить по одной на строке и в порядке их возрастания.

Примеры
№ INPUT.TXT OUTPUT.TXT
30 239 566 YES
1 7945
71215
643 733 553 NO
2
18129

Задача №536
Числа - 2
(Время: 1 сек. Память: 16 Мб Сложность: 45%)
Решая задачу по информатике, Вова в очередной раз допустил ошибку. Он снова вывел в выходной файл числа, забыв
разделить их пробелами. Увидев полученный результат, Вова сначала огорчился, а потом задумался над следующим
вопросом: сколько существует различных последовательностей неотрицательных целых чисел, таких что, если выписать
их без пробелов, то получится тот же результат, что и у него. Он вспомнил также, что его программа смогла вывести не
произвольные числа, а только те, что не превосходят C и не имеют ведущих нулей.
Чтобы ответить на поставленный вопрос, Вова решил написать программу, которая позволит ему найти число
различных последовательностей неотрицательных целых чисел, в каждой из которых любое число не превосходит C. Он
понимал, что такое число могло быть достаточно большим, поэтому ограничился поиском только последних K цифр этого
числа.
Требуется написать программу, которая покажет Вове, как можно правильно решить поставленную им задачу.

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

Первая строка входного файла INPUT.TXT содержит три целых числа – N, C и K (1 ≤ N ≤ 50000, 1 ≤ C ≤ 108, 1 ≤ K ≤
18). Во второй строке этого файла содержится результат работы Вовиной программы, состоящий из N цифр.

Выходные данные
В выходной файл OUTPUT.TXT выведите последние K цифр искомого количества последовательностей без ведущих
нулей.

Примеры
№ INPUT.TXT OUTPUT.TXT

https://acmp.ru/index.asp?main=alltasks 288/591
2/29/2020 Все задачи сайта
1 3 11 2 3
111
19 9 1 1
2
0123456789876543210
1 8 3 0
3
9

Задача №537
Перестановки - 3
(Время: 1 сек. Память: 16 Мб Сложность: 74%)
Задано множество из N различных натуральных чисел. Перестановку элементов этого множества назовем K-
перестановкой, если для любых двух соседних элементов этой перестановки их наибольший общий делитель не менее K.
Например, если задано множество элементов S = {6, 3, 9, 8}, то перестановка {8, 6, 3, 9} является 2-перестановкой, а
перестановка {6, 8, 3, 9} – нет.
Перестановка {p1, p2, …, pN} будет лексикографически меньше перестановки {q1, q2, …, qN}, если существует такое
натуральное число i (1 ≤ i ≤ N), для которого pj = qj при j < i и pi < qi.
В качестве примера упорядочим все K-перестановки заданного выше множества в лексикографическом порядке.
Например, существует ровно четыре 2-перестановки множества S: {3, 9, 6, 8}, {8, 6, 3, 9}, {8, 6, 9, 3} и {9, 3, 6, 8}.
Соответственно, первой 2-перестановкой в лексикографическом порядке является множество {3, 9, 6, 8}, а четвертой –
множество {9, 3, 6, 8}.
Требуется написать программу, позволяющую найти M-ую K-перестановку в этом порядке.

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

Входной файл INPUT.TXT в первой строке содержит три натуральных числа – N (1 ≤ N ≤ 16), M и K (1 ≤ M, K ≤ 109).
Вторая строка содержит N различных натуральных чисел, не превосходящих 109. Все числа в строках разделены
пробелом.

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести M-ую K-перестановку заданного множества или –1, если такой
нет.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 1 2 3 9 6 8
1
6 8 3 9
4 4 2 9 3 6 8
2
6 8 3 9
4 5 2 -1
3
6 8 3 9

Задача №538
Радио
(Время: 1 сек. Память: 16 Мб Сложность: 62%)
Как известно, при распространении радиоволн возникает интерференция, поэтому если рядом расположены две
радиопередающие станции, вещающие на одной и той же частоте, то качество радиопередач резко снижается.
Радиостанция «Радио Информатика» планирует транслировать свои программы в стране Флатландия. Министерство
связи Флатландии выдало радиостанции лицензию на вещание на двух различных частотах.
Владельцы радиостанции имеют возможность транслировать свои радиопрограммы с использованием n радиовышек,
расположенных в различных точках страны. Для осуществления трансляции на каждой радиовышке требуется установить
специальный передатчик – трансмиттер. Каждый передатчик можно настроить на одну из двух частот, выделенных
радиостанции. Кроме частоты вещания, передатчик характеризуется также своей мощностью. Чем мощнее передатчик, тем

https://acmp.ru/index.asp?main=alltasks 289/591
2/29/2020 Все задачи сайта

на большее расстояние он распространяет радиоволны. Для простоты, предположим, что передатчик мощности R
распространяет радиоволны на расстояние, равное R километрам.
Все передатчики, установленные на вышках, должны, согласно инструкции министерства, иметь одну и ту же
мощность. Чтобы программы радиостанции могли приниматься на как можно большей территории, мощность
передатчиков должна быть как можно большей. С другой стороны, необходимо, чтобы прием передач был качественным
на всей территории Флатландии. Прием передач считается качественным, если не существует такого участка ненулевой
площади, на который радиоволны радиостанции «Радио Информатика» приходят на одной частоте одновременно с двух
вышек.
Требуется написать программу, которая определяет, какую максимальную мощность можно было установить на всех
передатчиках, позволяющую выбрать на каждом передатчике такую одну из двух частот передачи, чтобы прием был
качественным на всей территории Флатландии.

Входные данные
Первая строка входного файла INPUT.TXT содержит число N – количество вышек (3 ≤ N ≤ 1200). Последующие N
строк содержат по два целых числа — координаты вышек. Координаты заданы в километрах и не превышают 104 по
модулю. Все точки, в которых расположены вышки, различны. Все числа в строках разделены пробелом.

Выходные данные
В первой строке выходного файла OUTPUT.TXT выводится вещественное число — искомая мощность передатчиков.
Во второй строке выводятся N чисел, где i-е число должно быть равно 1, если соответствующий передатчик должен вещать
на первой частоте, и 2, если на второй. Ответ должен быть выведен с точностью, не меньшей 10–8.

Пример
№ INPUT.TXT OUTPUT.TXT
4 0.70710678118654752
0 0 1 2 2 1
1 0 1
1 0
1 1

Задача №539
Торт
(Время: 1 сек. Память: 16 Мб Сложность: 6%)
На свой день рождения Петя купил красивый и вкусный торт, который имел идеально круглую форму. Петя не знал,
сколько гостей придет на его день рождения, поэтому вынужден был разработать алгоритм, согласно которому он сможет
быстро разрезать торт на N равных частей. Следует учесть, что разрезы торта можно производить как по радиусу, так и по
диаметру.
Помогите Пете решить эту задачу, определив наименьшее число разрезов торта по заданному числу гостей.

Входные данные
Входной файл INPUT.TXT содержит натуральное число N – число гостей, включая самого виновника торжества (N ≤
1000).

Выходные данные
В выходной файл OUTPUT.TXT выведите минимально возможное число разрезов торта.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 1
2 3 3

https://acmp.ru/index.asp?main=alltasks 290/591
2/29/2020 Все задачи сайта

Задача №540
Таблица
(Время: 1 сек. Память: 16 Мб Сложность: 45%)
Рассмотрим прямоугольную таблицу размером n×m. Занумеруем строки
таблицы числами от 1 до n, а столбцы – числами от 1 до m. Будем такую таблицу
последовательно заполнять числами следующим образом.
Обозначим через aij число, стоящее на пересечении i-ой строки и j-ого
столбца. Первая строка таблицы заполняется заданными числами – a11, a12, …,
a1m. Затем заполняются строки с номерами от 2 до n. Число aij вычисляется как
сумма всех чисел таблицы, находящихся в «треугольнике» над элементом aij. Все
вычисления при этом выполняются по модулю r.
Более точно, значение aij вычисляется по следующей формуле:

Например, если таблица состоит из трех строк и четырех столбцов, и первая строка состоит из чисел 2,3,4,5, а r = 40 то
для этих исходных данных таблица будет выглядеть следующим образом (взятие по модулю показано только там, где оно
приводит к изменению числа):

Требуется написать программу, которая по заданной первой строке таблицы (a11, a12, …, a1m), вычисляет последнюю
строку, как описано выше.

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

Первая строка входного файла INPUT.TXT содержит числа n, m и r (2 ≤ n, m ≤ 2000, 2 ≤ r ≤ 109) – число строк и
столбцов таблицы соответственно, а так же число, по модулю которого надо посчитать ответ. Следующая строка содержит
m целых чисел – первую строку таблицы: a11, a12, …, a1m. Все a1i неотрицательны и не превосходят 109.

Выходные данные
В первой строке выходного файла OUTPUT.TXT необходимо вывести m чисел – последнюю строку таблицы: an1, an2,
…, anm.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 3 10 3 6 5
1
1 2 3
3 3 10 8 0 8
2
1 1 1
3 4 40 23 0 4 33
3
2 3 4 5

Задача №541
Две строки
(Время: 1 сек. Память: 16 Мб Сложность: 47%)

https://acmp.ru/index.asp?main=alltasks 291/591
2/29/2020 Все задачи сайта

Циклическим сдвигом строки s1s2…sn на k позиций назовем строку sk+1sk+2…sns1..sk. Например, циклическим
сдвигом строки «abcde» на две позиции является строка «cdeab». В этой задаче далее будут рассматриваться только строки,
состоящие из десятичных цифр от 0 до 9. Произвольной такой строке, первый символ которой не является нулем, можно
сопоставить число, десятичной записью которого она является. Строкам, которые начинаются с нуля, никакое число
сопоставляться не будет. Например, строке 123 сопоставляется число сто двадцать три, а строке 0123 не сопоставляется
никакое число.
Пусть заданы две строки: s и t. Обозначим как S набор всех циклических сдвигов строки s, а как T – набор всех
циклических сдвигов строки t. Например, если s = «1234», то S содержит строки «1234», «2341», «3412», «4123».
Обозначим также как NUM(A) набор чисел, соответствующих строкам из набора A.
Требуется написать программу, которая по строкам s и t определит, максимальное число, представимое в виде
разности (x – y), где x принадлежит NUM(S), а y принадлежит NUM(T). Например, если s = «25», t = «12», то NUM(S)
содержит числа 25 и 52, NUM(T) – числа 12 и 21; их попарными разностями будут: 25 – 12 = 13, 25 – 21 = 4, 52 – 12 = 40,
52 – 21 = 31. Из этих разностей максимальным числом является 40.

Входные данные
Первая строка входного файла INPUT.TXT содержит строку s, вторая строка входного файла – строку t. Обе строки
непустые. Они содержат только цифры, из которых хотя бы одна не является нулем. Строки имеют длину не более 3000
символов.

Выходные данные
В выходной файл OUTPUT.TXT выведите искомое число без ведущих нулей.

Примеры
№ INPUT.TXT OUTPUT.TXT
25 40
1
12
100 99
2
1

Задача №542
Бит-реверс
(Время: 1 сек. Память: 16 Мб Сложность: 25%)
Целое положительное число m записывается в двоичной системе счисления, разряды (в этой записи) переставляются в
обратном порядке и число переводится в десятичную систему счисления. Получившееся число принимается за значение
функции B(m).
Требуется написать программу, которая для заданного m вычислит B(m).

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

Входной файл INPUT.TXT содержит натуральное число m (m ≤ 109).

Выходные данные
В выходной файл OUTPUT.TXT выведите значение B(m).

Примеры
№ INPUT.TXT OUTPUT.TXT
1 4 1
2 6 3

Задача №543
Монеты - 2

https://acmp.ru/index.asp?main=alltasks 292/591
2/29/2020 Все задачи сайта

(Время: 1 сек. Память: 16 Мб Сложность: 26%)


В N корзинах находятся золотые монеты. Корзины пронумерованы числами от 1 до N. Во всех корзинах, кроме одной,
монеты весят по w граммов. В одной корзине монеты фальшивые и весят w–d граммов. Волшебник берет 1 монету из
первой корзины, 2 монеты из второй корзины, и так далее, и, наконец, N-1 монету из (N-1)-й корзины. Из N-й корзины он
не берет ничего. Он взвешивает взятые монеты и сразу указывает на корзину с фальшивыми монетами.
Требуется написать программу, которая выполняет это волшебство.

Входные данные
Входной файл INPUT.TXT содержит четыре целых числа: N, w, d и P – суммарного веса отобранных монет (2 ≤ N ≤
8000, 1 ≤ d < w ≤ 30).

Выходные данные
В выходной файл OUTPUT.TXT выведите номер корзины с фальшивыми монетами.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 10 25 8 1109 2
2 10 25 8 1125 10
3 8000 30 12 959879400 50

Задача №544
Мячик на лестнице
(Время: 1 сек. Память: 16 Мб Сложность: 42%)
На вершине лесенки, содержащей N ступенек, находится мячик, который начинает прыгать по ним вниз, к основанию.
Мячик может прыгнуть на следующую ступеньку, на ступеньку через одну или через две. То есть, если мячик лежит на 8-
ой ступеньке, то он может переместиться на 5-ую, 6-ую или 7-ую.
Требуется написать программу, которая определит число всевозможных "маршрутов" мячика с вершины на землю.

Входные данные
Входной файл INPUT.TXT содержит число N (0 < N ≤ 70).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать искомое число.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1
2 4 7

Задача №545
Задача Пифагора
(Время: 1 сек. Память: 16 Мб Сложность: 48%)
Пифагор заказал ремесленнику изготовить несколько прямоугольных треугольников из ценных пород дерева для
использования на занятиях по геометрии, но ремесленник перепутал размеры, и треугольники получились не
прямоугольные. Чтобы не выбрасывать испорченный ценный материал, ремесленник решил переделать получившиеся
треугольники в прямоугольные, постаравшись максимизировать их площади.
Требуется написать программу, которая по размерам сторон треугольника находит максимальную площадь
прямоугольного треугольника, который можно вырезать из этого треугольника.

Входные данные
https://acmp.ru/index.asp?main=alltasks 293/591
2/29/2020 Все задачи сайта

Входной файл INPUT.TXT содержит в первой строке три числа, разделенных пробелами – длины сторон треугольника.
Все числа вещественные, больше 0 и меньше 1000.

Выходные данные
В выходной файл OUTPUT.TXT выведите максимальную площадь прямоугольного треугольника, получаемого из
заданного треугольника, с точностью не хуже, чем 10-5.

Пример
№ INPUT.TXT OUTPUT.TXT
1 10.0 10.0 10.0 25.00000

Задача №546
Печать буклета
(Время: 1 сек. Память: 16 Мб Сложность: 29%)
Когда происходит печать документа, обычно первая страница печатается первой, вторая - второй, третья - третьей и
так далее до конца. Но иногда при создании буклета на одном листе печатаются четыре страницы: две - на лицевой
стороне и две - на обратной. Когда вы сложите все листы по порядку и согнете их пополам, страницы будут идти в
правильном порядке, как у обычной книги. Например, 4-страничный буклет должен быть напечатан на одном листе
бумаги: лицевая сторона должна содержать сначала страницу 4, потом - 1, обратная - 2 и 3.
Если в буклете число страниц не кратно четырем, то в конце можно добавить несколько пустых страниц, но так, чтобы
количество листов бумаги при этом было минимально возможным.
Требуется написать программу, которая по заданному числу страниц в буклете генерирует порядок его печати.

Входные данные
Во входном файле INPUT.TXT записано количество страниц в буклете - натуральное число, не превышающее 500.

Выходные данные
В выходной файл OUTPUT.TXT необходимо выдать порядок печати данного буклета - последовательность команд,
каждая из которых располагается в отдельной строке и состоит из четырех чисел. Числа разделяются пробелом и
обозначают следующее: номер листа, на котором происходит печать, сторону: 1 - если печать происходит на лицевой
стороне, и 2 - если на обратной, два оставшихся числа - номера страниц буклета, которые должны быть напечатаны с левой
и правой сторон.
Пустая страница задается числом 0. Если целая сторона должна быть оставлена пустой, команду для ее печати
выводить не обязательно.

Пример
№ INPUT.TXT OUTPUT.TXT
4 1 1 4 1
1
1 2 2 3

Задача №547
Период дроби
(Время: 1 сек. Память: 16 Мб Сложность: 35%)
Рассмотрим дробь 1/n, n>1. Как известно, цифры в её десятичной записи начиная с некоторого места повторяются.
Минимальную по длине повторяющуюся (без промежутков) часть называют периодом. Минимальную по длине часть
после запятой, которая не входит ни в один период, называют предпериодом. Например:
n=3: 1/3=0,(3), предпериод пустой '', его длина 0, период '3', его длина 1;
n=5: 1/5=0,2(0), предпериод '2', длина 1, период '0', длина 1;
n=28: 1/28=0,03(571428), предпериод '03', длина 2, период '571428', длина 6.
Требуется написать программу, которая по заданному n найдет длину предпериода и длину периода у дроби 1/n.
https://acmp.ru/index.asp?main=alltasks 294/591
2/29/2020 Все задачи сайта

Входные данные
Входной файл INPUT.TXT содержит одно натуральное число n (2 ≤ n ≤ 106).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать два числа – сначала длина предпериода, потом длина периода дроби
1/n. Числа отделить друг от друга пробелом.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 0 1
2 5 1 1
3 28 2 6

Задача №548
Минимальное число
(Время: 1 сек. Память: 16 Мб Сложность: 35%)
Требуется написать программу, которая из цифр двух натуральных чисел создает наименьшее возможное число,
сохраняя при этом порядок следования цифр в этих числах.

Входные данные
Входной файл INPUT.TXT содержит два натуральных числа, записанных в двух строках. Числа больше нуля и меньше
10255.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести наименьшее возможное число,
удовлетворяющее условию задачи.

Пример
№ INPUT.TXT OUTPUT.TXT
125 12345
1
34

Задача №549
Факториальная система
(Время: 1 сек. Память: 16 Мб Сложность: 58%)
Известно, что любую рациональную дробь вида p/q можно представить в виде (0 < p < q):

где 0 ≤ ai < i, i=2, 3, ..., n для некоторого конечного n. Такое представление называется факториальным.
Требуется написать программу, которая по заданной рациональной дроби находит ее факториальное представление.

Входные данные
Во входном файле INPUT.TXT записаны через пробел два натуральных числа p и q (p < q <1000).

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

https://acmp.ru/index.asp?main=alltasks 295/591
2/29/2020 Все задачи сайта

В выходной файл OUTPUT.TXT нужно в первой строке вывести число n - количество значащих разрядов плюс 1 в
факториальном представлении дроби. В следующих строках располагаются неотрицательные целые числа a2, a3, ..., an.
Известно, что n < 1000.

Пример
№ INPUT.TXT OUTPUT.TXT
1 5 5
0
1 1
0
4

Задача №550
День программиста
(Время: 1 сек. Память: 16 Мб Сложность: 13%)
День программиста отмечается в 255-й день года (при этом 1 января считается нулевым днем). Требуется написать
программу, которая определит дату (месяц и число григорианского календаря), на которую приходится День программиста
в заданном году.
В григорианском календаре високосным является:

год, номер которого делится нацело на 400


год, номер которого делится на 4, но не делится на 100

Входные данные
В единственной строке входного файла INPUT.TXT записано целое число от 1 до 9999 включительно, которое
обозначает номер года нашей эры.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести дату Дня программиста в формате
DD/MM/YYYY, где DD — число, MM — номер месяца (01 — январь, 02 — февраль, ..., 12 — декабрь), YYYY — год в
десятичной записи.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2000 12/09/2000
2 2009 13/09/2009

Задача №551
Заяц и дерево
(Время: 1 сек. Память: 16 Мб Сложность: 29%)
После строительства на выбранной поляне частокола для обороны от хищников Заяц
обнаружил, что внутри ограды оказалось огромное засохшее дерево, которое может
помешать строительству домика. Зайцу хочется спилить это дерево “под самый корешок”
таким образом, чтобы дерево при падении не повредило ограду.
Заяц обрубил все ветки, и от дерева остался цилиндр высотой h и радиусом r. Ограда
имеет форму окружности с радиусом R и по высоте больше диаметра дерева. Центр
дерева находится на расстоянии b от центра ограды. Заяц может повалить дерево в любую
нужную ему сторону. После падения нижний край поваленного дерева касается (как
касательная) окружности основания дерева, как показано на рисунке.
Требуется написать программу, которая определит, сможет ли заяц повалить
спиленное дерево, не повредив ограду.

Входные данные
https://acmp.ru/index.asp?main=alltasks 296/591
2/29/2020 Все задачи сайта

В единственной строке входного файла INPUT.TXT записано четыре целых числа через один пробел: R, r, h и b (r+b ≤
100, 1 ≤ r ≤ R≤ 100, 1 ≤ h ≤ 1000).

Выходные данные
В выходной файл OUTPUT.TXT нужно вывести слово YES, если существует направление падения дерева, при
котором ограда останется неповрежденной, и NO в противном случае.

Пример
№ INPUT.TXT OUTPUT.TXT
1 90 3 50 10 YES

Задача №552
Зоопарк
(Время: 0,2 сек. Память: 16 Мб Сложность: 45%)
В городском зоопарке содержатся животные n разных видов. Для участия в международной выставке «Три твари»
зоопарк должен представить трех животных различных видов.
Требуется написать программу, которая вычислит число способов выбрать трех животных для участия в выставке.
Например, если в зоопарке два медведя, тигр, лев и пингвин, то есть семь способов выбрать трех животных:

1. первый медведь, тигр и лев;


2. первый медведь, тигр и пингвин;
3. первый медведь, лев и пингвин;
4. второй медведь, тигр и лев;
5. второй медведь, тигр и пингвин;
6. второй медведь, лев и пингвин;
7. тигр, лев и пингвин.

Входные данные
Входной текстовый файл INPUT.TXT содержит в первой строке натуральное число n – количество видов животных в
городском зоопарке (1 ≤ n ≤ 1000). Во второй строке через пробел записаны n натуральных чисел – количество животных
соответствующего вида. Число животных каждого вида не превышает 1000.

Выходные данные
Выходной текстовый файл OUTPUT.TXT должен содержать одно число – количество способов выбрать трех
животных для международной выставки.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 7
1
2 1 1 1
3 1000000
2
100 100 100

Задача №553
Объединение блоков
(Время: 1 сек. Память: 16 Мб Сложность: 46%)
Изделие изготавливают из n блоков, каждый из которых имеет два технологических параметра – mi и ki. Известно, что
ki=mi+1, i=1, 2, …, n-1. При этом условии два последовательных блока i и i+1 можно объединять в один новый, который
будет иметь технологические параметры - mi и ki+1, и на это потребуется mi*ki+1 технологических операций. Новый блок
можно опять объединять с одним из соседних и так далее. Меняя порядок сборки блоков можно добиться уменьшения
количества технологических операций.

https://acmp.ru/index.asp?main=alltasks 297/591
2/29/2020 Все задачи сайта

Поясним это на примере трех блоков: 34 и 29, 29 и 4, 4 и 15. Если собрать вначале 2 и 3 блок, а затем присоединить
собранное к первому, то потребуется 29*15+34*15=435+510=945 операций. Если собрать вначале блок из 1 и 2 исходных
блоков, а затем присоединить 3 блок, то потребуется 34*4+34*15=136+510=646 операций.
Требуется написать программу, которая найдет минимальное число технологических операций для изготовления
изделия.

Входные данные
Входной файл INPUT.TXT содержит в первой строке число n – количество блоков (1 ≤ n ≤ 100). Последующие n строк
содержат пары чисел (разделенных пробелом) – технологические параметры блоков. Технологические параметры – целые
неотрицательные числа, не превышающие 100.

Выходные данные
Выходной текстовый файл OUTPUT.TXT должен содержать одно число – минимальное число технологических
операций.

Пример
№ INPUT.TXT OUTPUT.TXT
3 646
34 29
1
29 4
4 15

Задача №554
Пицца
(Время: 1 сек. Память: 16 Мб Сложность: 20%)
Пицца – любимое лакомство Васи, он постоянно покупает и с удовольствием употребляет различные сорта этого
великолепного блюда. Однажды, в очередной раз, разрезая круглую пиццу на несколько частей, Вася задумался: на какое
максимальное количество частей можно разрезать пиццу за N прямых разрезов?
Помогите Васе решить эту задачу, определив максимальное число не обязательно равных кусков, которые может
получить Вася, разрезая пиццу таким образом.

Входные данные
Входной файл INPUT.TXT содержит натуральное число N – число прямых разрезов пиццы (N ≤ 1000).

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 4
2 3 7

Задача №555
Вычисление сложности программы
(Время: 1 сек. Память: 64 Мб Сложность: 76%)
Аня решила стать чемпионкой мира по программированию. Для этого ей, кроме всего прочего, потребовалось
научиться вычислять время работы программ. Во многих программах основное время работы занимают вложенные циклы.
Поэтому Аня хочет научиться узнавать, сколько операций будет выполнено внутри последовательности вложенных
циклов.
Пока Аня еще только учится, поэтому все программы выглядят как последовательность вложенных циклов, причем
все циклы выполняются от некоторого числа или переменной до некоторого другого числа. Ей требуется найти, сколько
https://acmp.ru/index.asp?main=alltasks 298/591
2/29/2020 Все задачи сайта

раз будет выполнена операция внутри самого вложенного цикла. Для этого она создала счетчик, проинициализировала его
нулем, и увеличивает его на единицу каждый раз, входя в самый вложенный цикл.
Заметьте, что Аня пока не знает, что в качестве верхней границы в цикле может служить переменная. В качестве
нижней границы может выступать как переменная, так и фиксированное значение. Если в каком-то цикле левая граница
больше, чем правая, то цикл не будет выполняться вообще.
Так как программы у Ани иногда работают очень долго, то она попросила своего друга узнать ответ, когда же и он не
смог этого посчитать, она попросила об этом вас. Помогите ей.
Напишите программу, которая находит, какое значение будет в счетчике в конце работы Аниной программы, если
счетчик хранился в переменной целого 32-битного беззнакового типа.

Входные данные
В первой строке входного файла INPUT.TXT находится число 1 ≤ N ≤ 3 000 - количество циклов. Далее в N строках
написано по два целых числа в каждой. В (i+1)-й строке входного файла записаны левая и правая граница i-го цикла: Li и
Ri (1-i ≤ Li ≤ 3 000, 0 ≤ Ri ≤ 3 000). При этом если Li < 0, то это обозначает, что цикл начинается со значения переменной (-
Li)-го цикла, в противном случае цикл начинается со значения Li.

Выходные данные
В выходной файл OUTPUT.TXT выведите значение, которое будет в счетчике в конце работы программы.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 5050
1 1 100
-1 100
2 0
2 4 6
-1 3
4 0
1 256
3 1 256
1 256
1 256
4 3567587328
1 1000
4 1 1000
1 1000
1 1000

Задача №556
Есть ли жизнь на Марсе?
(Время: 1 сек. Память: 16 Мб Сложность: 37%)
- Ты врешь, Коля! На Марсе жизни нет! Кто тебе такую чушь сказал?
- Петя. А ему сказал Саша.
- Да от Пети я в жизни правдивого слова не слышал! Ему что ни скажут, он все переврет. Да и Саше откуда знать?
- А Саше рассказал про это Владимир Алексеевич, наш учитель биологии.
- Ну, Владимиру Алексеевичу-то можно верить... Только вряд ли он так сказал, это либо Саша, либо Петя придумал. А
может, это ты меня разыгрываешь?..
- Минуточку, ребята, - вмешался подошедший к спорящим учитель математики, Глеб Тимофеевич, - давайте подойдем
к проблеме формально. Допустим, что все диалоги - Владимира Алексеевича с Сашей, Саши с Петей и Пети с Колей -
действительно имели место. Пронумеруем ребят числами 1, 2 и 3. Предположим также, что каждый из ребят независимо
друг от друга передал полученную информацию относительно жизни на Марсе верно с вероятностью pi, а соврал с

https://acmp.ru/index.asp?main=alltasks 299/591
2/29/2020 Все задачи сайта

вероятностью qi = 1 - pi для i = 1, 2, 3. Вероятности – это вещественные числа от нуля до единицы; событие, имеющее
вероятность 0, никогда не произойдет, событие же с вероятностью 1 произойдет без всякого сомнения. Зная, что Коля
после этого объявил, что жизнь на Марсе все-таки есть, найдите по данным pi вероятность того, что так действительно
сказал Владимир Алексеевич.
- А как искать эту вероятность? И что значит независимо друг от друга? – растерялись ребята.
- Независимость означает, что действие одного из ребят никак не отражается на том, как поступят другие. К примеру,
Пете неважно, соврал ли Саша - в любом случае он передаст сказанное Сашей правильно с вероятностью ровно p2. Задача
несложная, и можно рассмотреть все восемь возможных случаев. Первый случай - все ребята говорили правду, и
вероятность этого случая равна p1∙p2∙p3. В этом случае жизнь на Марсе, без сомнения, есть - Владимиру Алексеевичу мы
верим, а ребята передали его слова правильно. Второй случай, когда соврал только Саша, имеет место с вероятностью
q1∙p2∙p3, и в этом случае жизни на Марсе нет. Далее переберем остальные шесть случаев, каждый раз перемножая
соответствующие вероятности, а потом просуммируем вероятности тех случаев, в которых слова учителя переданы
правильно. То, что вероятности для отдельных ребят в каждом случае надо перемножить - это и есть формальное
определение независимости. Ну, в скольких случаях будет передано именно то, что говорил Владимир Алексеевич?
- В одном …
- А вот и нет. Например, если Петя и Коля соврали, а Саша сказал правду, то истина, дважды исказившись, дойдет до
нас в неизменном виде. И вообще, четное количество отрицаний, примененных к утверждению, дает само утверждение. В
нашей задаче случаев с четным количеством отрицаний - четыре, и итоговая вероятность равна
p1∙p2∙p3+q1∙q2∙p3+q1∙p2∙q3+p1∙q2∙q3.
- То есть если Петя и Коля точно соврут, а Саша точно скажет правду, то от Коли мы услышим в точности то, что
говорил учитель?
- Совершенно верно. А теперь решите-ка задачу для общего случая, когда ребят не трое, а n. Первому, кто решит -
пятерка на следующей контрольной!

Входные данные
Входной файл INPUT.TXT содержит целое число n (1 ≤ n ≤ 100). Во второй строке через пробел записаны n
вещественных чисел - это числа p1, p2, ..., pn (0 ≤ pi ≤ 1). Числа даны с не более чем шестью десятичными знаками после
запятой.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно вещественное число, округленное до шести знаков после запятой -
вероятность существования жизни на Марсе.

Пример
№ INPUT.TXT OUTPUT.TXT
3 0.18
1
1 0.1 0.9

Задача №557
Матрицы
(Время: 2 сек. Память: 16 Мб Сложность: 42%)
Аня недавно узнала, что такое квадратная матрица размерности n. Это таблица n×n с целыми числами в ячейках.
Число, стоящее на пересечении i-ой строки и j-ого столбца матрицы A, кратко обозначается A[i, j]. Матрицы можно
умножать, и Аня быстро освоила, как запрограммировать эту операцию с помощью циклов. Результатом умножения двух
матриц A и B будет матрица C, элементы которой определяются следующим образом:

Матрицы ей понадобились для конкретной задачи, в которой надо узнать определенный элемент произведения
нескольких матриц. Это уже достаточно сложная задача для Ани, но она усложняется тем, что все вычисления ведутся по
модулю некоторого простого числа p, то есть если при арифметических операциях получается число, большее, либо
равное p, оно заменяется на остаток при делении на p.
https://acmp.ru/index.asp?main=alltasks 300/591
2/29/2020 Все задачи сайта

Помогите Ане вычислить нужный ей элемент.

Входные данные
В первой строчке входного файла INPUT.TXT стоят два числа: m - количество матриц, n - размер каждой из матриц (1
≤ m ≤ 130, 1 ≤ n ≤ 130). В следующей строчке содержатся номер строки и столбца, интересующего Аню элемента 1 ≤ a ≤ n,
1 ≤ b ≤ n. В третьей строке содержится простое число p ≤ 1000. Далее следует описание m матриц. Описание каждой
матрицы состоит из n строк. В каждой из строк содержится n неотрицательных целых чисел, меньших p. Соседние числа в
строке разделены пробелом, а перед каждой матрицей пропущена строка.

Выходные данные
В выходной файл OUTPUT.TXT выведите нужный Ане элемент произведения матриц.

Пример
№ INPUT.TXT OUTPUT.TXT
3 2 20
1 2
239

1 2
3 4
1
4 2
1 3

1 2
2 1

Задача №558
Упаковка
(Время: 1 сек. Память: 16 Мб Сложность: 65%)
Вот уже неделю Ваня решает сложную задачу: по данному числу n необходимо расположить на плоскости n кругов с
радиусами 1, 2, ..., n таким образом, чтобы, во-первых, каждая пара кругов не пересекалась (возможно, касаясь), а во-
вторых, все эти круги помещались в большой объемлющий круг как можно меньшего радиуса. В процессе решения Ваня
заметил, что, расположив достаточное количество больших кругов, можно сразу начинать искать объемлющий круг,
поскольку все оставшиеся маленькие круги можно поместить в промежутках, оставшихся между большими.
Теперь Ваня хочет по данному множеству радиусов оценить, как часто между тремя попарно касающимися кругами с
радиусами из этого множества можно поместить четвертый круг. Для этого он ввел рейтинг упаковываемости P: для
множества радиусов R = {r1, r2, …, rn} рейтинг P(R) равен количеству таких упорядоченных четверок индексов (i, j, k, l),
что ri > rj > rk > rl и между тремя попарно касающимися кругами радиусов ri, rj и rk можно поместить круг радиуса rl так,
чтобы он не пересекался с ними, возможно, касаясь. Выражение «поместить между» означает, что центр четвертого круга
должен лежать внутри треугольника с вершинами в центрах первых трех кругов.
Помогите Ване посчитать рейтинг упаковываемости данного множества.

Входные данные
Входной файл INPUT.TXT содержит целое число n (1 ≤ n ≤ 250). Во второй строке через пробел записаны n различных
целых чисел r1, r2, ..., rn (1 ≤ ri ≤ 250) - элементы множества R. Гарантируется, что R непусто.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – рейтинг упаковываемости P(R).

Пример
№ INPUT.TXT OUTPUT.TXT
1 5 1
https://acmp.ru/index.asp?main=alltasks 301/591
2/29/2020 Все задачи сайта
2 1 5 10 20

Задача №559
Сосиска в тесте
(Время: 1 сек. Память: 16 Мб Сложность: 48%)
Аня еще учится в школе, однако она уже много слышала о трудностях студенческой жизни. Ее это очень волнует, так
как она задумывается о своем будущем и понимает, что после окончания школы ей придется учиться в ВУЗе. Из
многочисленных рассказов она узнала, что излюбленной пищей студентов являются сосиски. А так как студенты часто
испытывают недостатки в средствах, сосиски часто приходится делить. Однако никто не доверяет делению «на глаз»,
всегда найдется кто-нибудь, утверждающий, что его обделили.
Сосиска представляет собой практически плоскую фигуру (таковы уж студенческие столовые), которую можно
описать следующим образом. Рассмотрим некоторый горизонтальный отрезок на плоскости, а также некоторый круг.
Тогда, если центр круга провести по всем точкам отрезка от начальной до конечной, то любая точка, лежавшая, хотя бы в
какой-то момент в круге, принадлежит сосиске. Можно описать сосиску и другим способом. Рассмотрим тот же отрезок и
два круга одинакового радиуса с центрами в его крайних точках. Тогда точка принадлежит сосиске ровно в том случае,
если она лежит на некотором отрезке, у которого каждый из концов лежит в одном из кругов.
Подумав, Аня понимает, что при наличии линейки можно легко отмерить нужное расстояние от левого края сосиски и
вертикально отрезать необходимую часть. Но если при этом отмерять одинаковые расстояния, то те, кому достанутся
крайние куски, получат меньше. Помогите Ане разместить разрезы в нужных местах сосиски, чтобы все получили
поровну.

Входные данные
Входной файл INPUT.TXT содержит в первой строке два числа: d - расстояние между центрами крайних кругов и r -
радиус каждого из них. Оба числа вещественные, положительные и не превосходят 10 000 и располагаются на первой
строке входного файла. На второй строке находится n – количество студентов, претендующих на сосиску (2 ≤ n ≤ 1000).

Выходные данные
В выходном файле OUTPUT.TXT должно содержаться n-1 строка. В i-ой строке должно содержаться расстояние от
левого края сосиски до правого края i куска (куски нумеруются слева направо). Все числа должны быть вычислены с
точностью до 6 десятичных знаков после запятой.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1.500000
1
2
1 1 0.856810
2 4 1.500000
2.143190

Задача №560
Остановки
(Время: 1 сек. Память: 16 Мб Сложность: 64%)
Представьте себе, что вы - один из проектировщиков железной дороги. Вам нужно построить N остановок, размеры
которых довольно велики, но все равны между собой и равны некоторому числу w. Стоимость постройки меняется в
зависимости от рода поверхности, по которой предстоит строить платформу. При этом остановки не должны располагаться
от границ дороги и друг от друга дальше, чем на R метров, иначе каким-то жителям области придется далеко ходить.
Также остановки не должны располагаться от границ дороги и друг к другу ближе, чем на r метров, иначе электрички не
будут успевать разгоняться между остановками, и будут медленно ездить. Руководство хочет потратить на постройку
остановок минимальное количество денег. Вам известны стоимости постройки метра платформы на каждом из L метров
всей дороги. Стоимость i-го метра - ai (при 1 ≤ i ≤ L). Вычислите минимально возможную стоимость расстановки всех
остановок.

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

https://acmp.ru/index.asp?main=alltasks 302/591
2/29/2020 Все задачи сайта

В первой строке входного файла INPUT.TXT содержатся целые числа N, w и L (1 ≤ N ≤ 100, 1 ≤ w ≤ 100, 1 ≤ L ≤ 20
000). Во второй строке содержится два целых числа: r и R (0 ≤ r ≤ R ≤ 1000). В третьей строке содержится L целых чисел ai,
разделенных пробелами (1 ≤ ai ≤ 10000).

Выходные данные
В выходной файл OUTPUT.TXT выведите целое число - искомый ответ. Если решения не существует, то следует
вывести «No solution.» .

Примеры
№ INPUT.TXT OUTPUT.TXT
3 1 5 6
1 0 1
3 7 1 5 2
2 3 9 14
2 1 2
8 1 2 3 7 4 3 1 11
1 1 1 No solution.
3 10 10
239

Задача №561
Башни
(Время: 2 сек. Память: 16 Мб Сложность: 95%)
ak
a2...
Башней называется выражение вида a0a1 , где k ≥ 1, т.е. последовательное возведение в степень чисел a0, ..., ak.
c c
Отметим, что операция возведения в степень выполняется справа налево, т.е. выражение ab вычисляется как a(b ).
Аня недавно изучила алгоритмы сортировок, и теперь она умеет сортировать целые числа, вещественные числа, и
даже строки. Узнав об этом, Андрюша предложил ей написать программу для сортировки башен. Как же это сделать?
Аня привыкла учиться на примерах, и поэтому ей нужна ваша работающая программа. Напишите программу, которая
по заданным во входном файле башням вычисляла бы порядок, в котором нужно их поставить, чтобы они оказались
расположены по возрастанию.

Входные данные
В первой строке входного файла INPUT.TXT задается число башен N (1 ≤ N ≤ 50000). Далее следуют N строк, каждая
из которых содержит одну башню в формате ki ai0 ai1 ... aiki, здесь все числа разделены пробелами. Каждое из aij - целое
число в пределах от 1 до 99, кроме того, 1 ≤ ki ≤ 9.
Известно, что среди башен во входном файле нет равных. Заметьте, что значения у башен могут быть весьма велики -
2
22
например, даже число 22 = 265536 не помещается ни в какой вещественный тип.

Выходные данные
В выходной файл OUTPUT.TXT выведите перестановку номеров башен b1, b2, ... , bN в таком порядке, что если взять
сначала башню с номером b1, потом с номером b2, и т.д., то они окажутся расположенными в порядке возрастания.

Пример
№ INPUT.TXT OUTPUT.TXT
1 10 2 4 3 6 7 5 9 10 1 8
4 2 2 2 2 2
1 2 2
1 3 2
1 2 3
3 2 2 2 2
https://acmp.ru/index.asp?main=alltasks 303/591
2/29/2020 Все задачи сайта
2 2 2 2
1 3 3
3 3 3 3 3
2 4 3 3
2 2 3 4

Задача №562
Слабая K-связность
(Время: 1 сек. Память: 16 Мб Сложность: 47%)
Ане, как будущей чемпионке мира по программированию, поручили очень ответственное задание. Правительство
вручает ей план постройки дорог между N городами. По плану все дороги односторонние, но между двумя городами
может быть больше одной дороги, возможно, в разных направлениях. Ане необходимо вычислить минимальное такое K,
что данный ей план является слабо K-связным.
Правительство называет план слабо K-связным, если выполнено следующее условие: для любых двух различных
городов можно проехать от одного до другого, нарушая правила движения не более K раз. Нарушение правил - это проезд
по существующей дороге в обратном направлении. Гарантируется, что между любыми двумя городами можно проехать,
возможно, несколько раз нарушив правила.

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

В первой строке входного файла INPUT.TXT записаны два числа 2 ≤ N ≤ 300 и 1 ≤ M ≤ 105 - количество городов и
дорог в плане. В последующих M строках даны по два числа - номера городов, в которых начинается и заканчивается
соответствующая дорога.

Выходные данные
В выходной файл OUTPUT.TXT выведите минимальное K, такое, что данный во входном файле план является слабо
K-связным.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 2 1
1 1 2
1 3
4 4 0
2 4
2 1 3
4 1
3 2

Задача №563
Задача про XOR
(Время: 1 сек. Память: 16 Мб Сложность: 69%)
В рамках подготовки к чемпионату мира Кирилл придумал Ане задачу. Он написал N знаковых 32-битных чисел и
попросил вычислить значение некоторого выражения S. Пусть a1, …, aN - все эти числа. Тогда выражение это
S = (a1 xor a2 xor … xor an) xor (b1 xor b2 xor … xor bn-1),

где
bi = F(ai, ai+1) xor F(ai, ai+2) xor … xor F(ai, an).
В этой формуле под знаком xor понимается побитовое «исключающее или», а F(a, b) = x - 1, где x - максимальная
степень двойки, на которую делится нацело a-b, если a ≠ b, и F(a, b) = -1, если a = b. Все операции xor выполняются слева
направо, если скобки не указывают иной порядок.
Аня, как большая специалистка в области циклов, быстро написала требуемую программу, однако программа работала
слишком долго. Чтобы лучше разобраться в этом вопросе, она попросила вас написать программу, которая бы
укладывалась в отведенное время. Помогите ей это сделать.
https://acmp.ru/index.asp?main=alltasks 304/591
2/29/2020 Все задачи сайта

Входные данные
В первой строке входного файла INPUT.TXT содержится число N (1 ≤ N ≤ 105). В следующих N строках содержится N
32-битных знаковых целых чисел ai по одному на строке.

Выходные данные
В выходной файл OUTPUT.TXT выведите значение выражения.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 1
1
1
2
3
2 -1
2 1
1
3 6
1
3
2
4

Задача №564
Забор - 2
(Время: 1 сек. Память: 16 Мб Сложность: 29%)
Времена Советского Союза уже давно стали историей. И к рассказам о событиях, происходивших тогда, только в
России могут относиться не как к анекдотам. Попробуйте мысленно перенестись в те времена.
Однажды новому управлению строительного комбината выделили землю для дачных участков. Земли было выделено
много, но тут возникла следующая проблема. На складах комбината хранилось некоторое количество секций для
возведения заборов. Фрагменты имели достаточно большую длину, но их явно не хватало, чтобы огородить выделенную
землю и поделить ее на участки (а попытавшись приобрести новую часть забора подходящей длины, любой сотрудник
управления явно привлек бы внимание соответствующих органов). К тому же фрагменты были выполнены таким образом,
что собрать каждый из них можно было только в один прямой отрезок.
Поэтому было решено, что каждый из членов управления может выбрать для себя три фрагмента забора и с помощью
них огородить себе участок. Директор комбината (который, конечно же, делает выбор первым) поручил вам помочь ему
выбрать такие фрагменты забора, чтобы его участок имел максимально возможную площадь.

Входные данные
В первой строке входного файла INPUT.TXT записано натуральное число n, количество фрагментов на складе (n ≤
100). На второй строке содержатся n натуральных чисел, не превосходящих 1000 - длины фрагментов забора.

Выходные данные
В выходной файл OUTPUT.TXT выведите максимальное значение площади участка, который может соорудить
директор и номера фрагментов, из которых может получиться максимальный участок в произвольном порядке. Ответ
следует выводить с точностью, не меньшей, чем 6 знаков после запятой. В случае, если создать участок ненулевой
площади нельзя, выведите -1.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 0.4330127018922193
1
1 1 1 1 2 3
4 -1
2
1 2 4 7
https://acmp.ru/index.asp?main=alltasks 305/591
2/29/2020 Все задачи сайта

Задача №565
Сушка
(Время: 1 сек. Память: 16 Мб Сложность: 59%)
Тетя Люба только что постирала все белье и теперь перед ней стоит непростая задача - как его высушить, чтобы ни
одна вещь не успела испортиться. Сразу после стирки, i-я постиранная вещь имеет влажность wi. Если она сушится на
веревке, то за минуту ее влажность уменьшается на 1, а если на батарее - то на r (если влажность была меньше r, то она
становится равной 0). Причем веревок у тети Любы много (хватает для одновременной сушки всех вещей), а батарея
только одна, причем такая маленькая, что на ней нельзя сушить две вещи одновременно. i-я вещь испортится, если не
высохнет за время di. Помогите тете Любе составить план, когда какую вещь повесить на батарею.

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

Первая строка входного файла INPUT.TXT содержит целые числа n (1 ≤ n ≤ 105) - количество мокрых вещей, и r (1 ≤ r
≤ 109). Следующие n строк содержат описания постиранных вещей – пары чисел wi и di (1 ≤ wi, di ≤ 109).

Выходные данные
В выходной файл OUTPUT.TXT выведите план сушки в виде пар целых чисел ti и ki, где ti - время в минутах от начала
сушки, а ki - номер вещи, которую нужно повесить на батарею в этот момент. Выводите пары в порядке увеличения ti. Пар
не должно быть больше 105. Не выводите числа больше 109. Если высушить все вещи невозможно, выведите слово
«Impossible».

Примеры
№ INPUT.TXT OUTPUT.TXT
3 3 0 3
2000 1000 500 1
1
2000 2000 1000 3
2500 1500
3 3 Impossible
2000 1000
2
2000 1000
2000 1000

Задача №566
Халява
(Время: 1 сек. Память: 16 Мб Сложность: 61%)
Гриша очень любит газировку PupsiCola. Однажды он узнал, что, собрав несколько крышек со звездочками, можно
получить футболку. Гриша нашел A крышек с одной звездочкой, B крышек с двумя звездочками и C крышек с тремя
звездочками. На футболку можно обменять набор крышек, общее количество звездочек на которых не меньше K.
Помогите Грише узнать, сколько футболок он может получить.

Входные данные
Входной файл INPUT.TXT содержит целые числа A, B, C и K (0 ≤ A, B, C ≤ 100, 1 ≤ K ≤ 1000).

Выходные данные
В выходной файл OUTPUT.TXT выведите максимальное количество футболок, которые может получить Гриша.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 2 2 4 3
2 0 0 4 4 2

https://acmp.ru/index.asp?main=alltasks 306/591
2/29/2020 Все задачи сайта

Задача №567
Упаковка подарка
(Время: 1 сек. Память: 16 Мб Сложность: 83%)
Для упаковки подарка Роме нужно сделать из фольги конус с нижним основанием радиуса r и длиной образующей l.

Для этого ему нужен кусок фольги такой формы:

У Ромы есть рулон фольги шириной d, от которого он может отрезать кусок произвольной длины. Помогите ему
узнать минимальную длину куска, из которого можно вырезать нужную фигуру.

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

Во входном файле INPUT.TXT содержатся три целых числа: r, l и d (все числа не превосходят 106, l > r).
Гарантируется, что существует способ вырезать нужную фигуру.

Выходные данные
В выходной файл OUTPUT.TXT выведите минимально возможную длину куска фольги, из которого Рома сможет
сделать нужную упаковку. Выведите не менее 6 знаков после точки.

Пример
№ INPUT.TXT OUTPUT.TXT
1 1 2 2 4

Задача №568
Дороги - 2
(Время: 1 сек. Память: 16 Мб Сложность: 53%)
Мэр города Гадюкино решил проверить состояние дорог после только что проведенного капитального ремонта. Для
этого он хочет проехать по каждой дороге в обоих направлениях. Помогите мэру составить кратчайший маршрут,
проходящий по каждой дороге в каждом направлении хотя бы один раз.
В городе Гадюкино n перекрестков и m дорог, каждая из которых соединяет два различных перекрестка. Между двумя
перекрестками может быть не более одной дороги. Известно, что по дорогам от каждого перекрестка можно доехать до
любого другого.

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

Входной файл INPUT.TXT содержит целые числа n и m (1 ≤ n ≤ 104, 1 ≤ m ≤ 105), и далее m пар целых чисел ai и bi -
номера перекрестков, которые соединяет i-я дорога.
https://acmp.ru/index.asp?main=alltasks 307/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT выведите число s - минимальную длину пути и далее s+1 число - номера перекрестков
в том порядке, в котором их нужно проезжать.

Пример
№ INPUT.TXT OUTPUT.TXT
3 3 6
1 2 1 2 3 1 3 2 1
1
2 3
1 3

Задача №569
Зарплата - 2
(Время: 1 сек. Память: 16 Мб Сложность: 43%)
В одном государственном учреждении работают n сотрудников. Их фактические зарплаты равны di, но по закону всем
сотрудникам положено платить одинаково, поэтому им всем официально выплачивают среднюю зарплату d, такую, чтобы
общая сумма оставалась такой же, а потом сотрудники сами перераспределяют полученные деньги.
Короче, творится полный бардак. И чтобы этот бардак уменьшить, Самый Главный Начальник решил использовать
недавно принятый закон «о материальной помощи», который позволяет любому сотруднику часть своей зарплаты (целое
число рублей от 1 до d-1) передавать другому сотруднику в виде материальной поддержки. Однако по закону сотрудник,
таким образом, может «помогать» только одному «малоимущему».
Например, если Петя и Вася получают по 100 рублей и Петя напишет заявление на передачу 30% своей зарплаты Васе,
то Петя будет получать 70 рублей, а Вася - 130.
Теперь Самый Главный Начальник хочет узнать: кто, кому и сколько должен передавать, чтобы в результате все
получали ровно столько, сколько нужно. Помогите ему это сделать.

Входные данные
Входной файл INPUT.TXT содержит целые числа n и d (1 ≤ n ≤ 105, 1 ≤ d ≤ 109), и далее n целых чисел di (1 ≤ di ≤ 109).
Сумма всех di равна n∙d.

Выходные данные
В выходной файл OUTPUT.TXT выведите n пар целых чисел ai и bi, означающих, что сотрудник i передает сотруднику
ai часть своей зарплаты в размере bi рублей. Если сотрудник i ничего никому не передает, выведите вместо ai и bi два нуля.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 200 2 100
100 0 0
1
300 0 0
200
3 200 3 190
10 0 0
2
300 2 100
290

Задача №570
Квадрат
(Время: 1 сек. Память: 16 Мб Сложность: 43%)
На сайте сотового оператора BeepLine сделали защиту от роботов, рассылающих SMS-сообщения: прежде, чем
отправить SMS, пользователь должен написать, какую фигуру он видит в специальном окошке: квадрат или круг. Причем,

https://acmp.ru/index.asp?main=alltasks 308/591
2/29/2020 Все задачи сайта

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


Коле срочно нужно разослать всем друзьям сообщение, поэтому он просит Вас написать программу, распознающую
изображение.
Экспериментально установлено, что система рисует квадрат с помехами следующим образом: сначала на белом фоне
рисуется черный квадрат k×k клеток (k ≥ 3), затем некоторые клетки на границе квадрата (на рисунке обозначены цифрой
1) закрашиваются белым, а некоторые клетки (если таковые существуют), граничащие с квадратом (на рисунке обозначены
цифрой 2), закрашиваются черным.

Например, квадрат 4×4 после нанесения помех может выглядеть так:

Входные данные
Первая строка входного файла INPUT.TXT содержит целые числа n и m - размеры экрана (1 ≤ n,m ≤ 1000). Следующие
n строк, по m символов в каждой, содержат описание картинки. Черные клетки обозначены символом «*», а белые -
символом «.».

Выходные данные
В выходной файл OUTPUT.TXT выведите «SQUARE», если заданная картинка может быть квадратом после
преобразований, описанных в условии, иначе выведите слово «CIRCLE».

Примеры
№ INPUT.TXT OUTPUT.TXT
1 10 10 SQUARE
..........
..........
..........
..........
..***.....
..***.....
..***.....
..........

https://acmp.ru/index.asp?main=alltasks 309/591
2/29/2020 Все задачи сайта
..........
..........
10 10 SQUARE
..........
..........
..........
....*.....
2 ..*****...
..******..
.******...
..*****...
..*.*.*...
...*......
10 10 CIRCLE
..........
..........
..****....
.******...
3 ******.**.
********..
********..
.******...
..****....
....*.....
3 3 CIRCLE
...
4
...
...

Задача №571
Треугольники - 4
(Время: 5 сек. Память: 64 Мб Сложность: 86%)
У Сени есть шоколадка, составленная из нескольких прилегающих друг к другу плиточек в форме правильных
треугольников. Его брат Женя нашел эту шоколадку и решил сделать ее треугольной, съев все лишнее (ведь треугольные
шоколадки намного вкуснее). Сколькими способами он может это сделать?
Например, из такой шоколадки:

можно сделать треугольную шоколадку со стороной 1 шестью способами или шоколадку со стороной 2 двумя
способами. Итого восемь способов.

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

Форма шоколадки задается ее границей в порядке обхода по часовой стрелке. Первая строка входного файла
INPUT.TXT содержит число n - количество отрезков на границе (1 ≤ n ≤ 5000). Далее n чисел от 1 до 6, задающих
направление движения по границе (см. рисунок).
https://acmp.ru/index.asp?main=alltasks 310/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число - количество способов.

Пример
№ INPUT.TXT OUTPUT.TXT
8 8
1
1 1 3 2 4 4 6 5

Задача №572
Технология программирования
(Время: 1 сек. Память: 16 Мб Сложность: 60%)
Толик придумал новую технологию программирования. Он хочет уговорить друзей использовать ее. Однако все не так
просто. i-й друг согласится использовать технологию Толика, если его авторитет будет не меньше ai (авторитет выражается
целым числом). Как только он начнет ее использовать, к авторитету Толика прибавится число bi (попадаются люди, у
которых bi < 0). Помогите Толику наставить на путь истинный как можно больше своих друзей.

Входные данные
На первой строке входного файла INPUT.TXT содержатся два числа: n (1 ≤ n ≤ 1000) – количество друзей у Толика, и
первоначальный авторитет Толика . Следующие n строк содержат пары чисел ai и bi. Все числа целые, по модулю не
больше 106.

Выходные данные
В выходной файл OUTPUT.TXT выведите число m - максимальное число друзей, которых может увлечь Толик, и затем
m чисел - номера друзей в том порядке, в котором их нужно агитировать.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 1 4
1 3 1 4 3 5
6 -5
1
6 -4
2 2
2 -1

Задача №573
НЛО
(Время: 1 сек. Память: 16 Мб Сложность: 77%)
В маленьком городке М начала действовать служба контроля за незаконными полетами НЛО. Первая задача службы -
выяснить, сколько НЛО действует в окрестности города.
Агенты службы опросили множество свидетелей и составили список случаев встречи с НЛО, произошедших за одни
сутки, с указанием места и времени наблюдения.
Теперь аналитики хотят понять, сколько же на самом деле было НЛО. Из данных разведки известна максимальная
скорость, с которой может лететь НЛО. Аналитики просят вас узнать, какое минимальное количество НЛО могли
наблюдать свидетели.

Входные данные
На первой строке входного файла INPUT.TXT содержатся целые числа n и v - количество случаев наблюдения и
максимальная скорость НЛО (1 ≤ n ≤ 100, 1 ≤ v ≤ 10000). Следующие n строк содержат описания случаев встречи с НЛО в
формате «ЧЧ:ММ x y», где ЧЧ:ММ – время встречи, x и y - координаты места, в котором наблюдался НЛО (для простоты

https://acmp.ru/index.asp?main=alltasks 311/591
2/29/2020 Все задачи сайта

будем считать, что все встречи происходили на плоскости). Координаты целые и по модулю не превышают 1000. Скорость
выражена в км/ч, координаты - в км. Гарантируется, что во входных данных нет совпадающих записей.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число - минимальное возможное количество НЛО.

Пример
№ INPUT.TXT OUTPUT.TXT
4 1 2
12:00 0 0
1 13:10 0 1
14:00 1 0
15:00 1 1

Задача №574
Анаграммы
(Время: 1 сек. Память: 16 Мб Сложность: 26%)
Cтрока S1 называется анаграммой строки S2, если она получается из S2 перестановкой символов. Даны строки S1 и
S2. Напишите программу, которая проверяет, является ли S1 анаграммой S2.

Входные данные
Первая строка входного файла INPUT.TXT содержит строку S1, вторая - S2. Обе строки состоят только из прописных
букв английского алфавита. Строки не пусты и имеют длину не больше 100000 символов.

Выходные данные
В выходной файл OUTPUT.TXT выведите YES, если S1 является анаграммой S2, и NO - в противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
ABAA NO
1
ABBA
ABBA YES
2
BABA

Задача №575
Строительство
(Время: 1 сек. Память: 16 Мб Сложность: 41%)
Фирма, в которой вы работаете, исполняет проект строительства суперсовременного бизнес-центра. И вот, когда заказ
на склад строительных материалов почти готов к подписанию директором, оказывается, что туда забыли включить
некоторые товары. Конкретно, в нем не были предусмотрены материалы, необходимые для возведения стен между
отдельными секциями в подвальных помещениях. Необходимо срочно написать программу, которая сможет рассчитать
необходимое количество материалов.
На плане подвальный этаж имеет вид прямоугольника, стороны которого лежат на линиях сетки с квадратными
клетками. Сетка имеет такой масштаб, что сторона клетки соответствует одному метру стены подвального этажа. Каждая
клетка на плане целиком принадлежит одному из помещений. Для каждой пары соседних по стороне клеток, отнесенных к
разным помещениям, вдоль всей их общей стороны должна быть возведена стена толщиной 20 сантиметров и высотой три
метра. Материалы для постройки всех внешних стен подвального этажа уже включены в заказ.

Входные данные
Первая строка входного файла INPUT.TXT содержит два целых числа N и M (1 ≤ N, M ≤ 100), разделенных пробелами
- размеры подвала на плане. Каждая из N последующих строк содержит по M натуральных чисел, не превосходящих M x
N, задающих номер помещения, к которому относится данная клетка. Эти числа разделены пробелами.
https://acmp.ru/index.asp?main=alltasks 312/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT выведите одно вещественное число с
точностью не менее 0.001 - общий объем возводимых стен в кубических
метрах.

Пример

№ INPUT.TXT OUTPUT.TXT
3 4 4.56
1 1 3 3
1
1 2 2 3
2 2 3 3

Задача №576
Гадание - 2
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Маша недавно прочитала в книге «Теория чисел и предсказание будущего» о новом способе гадания. Способ
заключается в следующем: надо выбрать целое положительное число N и посчитать количество чисел, меньших N и
взаимно простых с ним. Это количество и будет результатом гадания.
Поскольку гадать приходится достаточно часто, а процесс гадания достаточно трудоемок, Маша попросила вас
написать программу, считающую результат гадания.
Два числа называются взаимно простыми, если их наибольший общий делитель равен 1. Наибольшим общим
делителем двух чисел a и b называется наибольшее целое положительное число, на которое делятся и a, и b.

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

Входной файл INPUT.TXT содержит целое положительное число N (1 ≤ N ≤ 105).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – результат гадания.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 13 12
2 6 2

Задача №577
Таблица умножения
(Время: 1 сек. Память: 16 Мб Сложность: 25%)
Большой любитель математики Вова решил повесить у себя в комнате таблицу умножения. После некоторых раздумий
он обнаружил, что обычная таблица умножения 10 на 10 уже не популярна в наши дни. Он решил повесить у себя в
комнате таблицу N на M. Представив себе эту таблицу, Вова задался вопросом - сколько раз в ней встречается каждая из
цифр от 0 до 9?
И прежде чем нарисовать эту таблицу Вова попросил вас написать программу, которая даст ответ на его вопрос.
https://acmp.ru/index.asp?main=alltasks 313/591
2/29/2020 Все задачи сайта

Как известно, в таблице умножения на пересечении строки i и столбца j записано число i∙j.

Входные данные
Входной файл INPUT.TXT состоит из единственной строки, на которой через пробел записаны два натуральных числа
N и M (1 ≤ N, M ≤ 1000).

Выходные данные
Выходной файл OUTPUT.TXT должен состоять из десяти строк. На строке i выведите количество раз, которое Вове
придется нарисовать цифру i - 1.

Пример
№ INPUT.TXT OUTPUT.TXT
10 10 28
24
27
15
23
1
15
17
8
15
6

Задача №578
Система счисления
(Время: 1 сек. Память: 16 Мб Сложность: 37%)
Вчера на уроке математики Саша узнал о том, что иногда полезно использовать вместо десятичной системы счисления
какую-нибудь другую.
Однако, учительница не объяснила, почему в системе счисления по основанию b в качестве цифр выбирают числа от 0
до b - 1.
Немного подумав, Саша понял, что можно выбирать и другие наборы цифр. Например, вместо троичной системы
счисления можно рассмотреть систему счисления, где вместо обычных цифр 0, 1, 2 есть цифры 1, 2 и 3.
Саша заинтересовался вопросом, а как перевести число n в эту систему счисления? Например, число 7 в этой системе
записывается как 21, так как 7 = 2∙3+1, а число 22 записывается как 211, так как 22 = 2 ∙ 9 + 1 ∙ 3 + 1.

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

Входной файл INPUT.TXT содержит натуральное число n, 1 ≤ n ≤ 2•109.

Выходные данные
В выходной файл OUTPUT.TXT выведите число n записанное в указанной системе счисления.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 7 21
2 22 211

Задача №579
Модуль суммы
(Время: 1 сек. Память: 16 Мб Сложность: 25%)
Дана последовательность целых чисел. Требуется найти подпоследовательность заданной последовательности с
максимальным модулем суммы входящих в нее чисел. Напомним, что модуль целого числа x равняется x, если x ≥ 0 и -x,
https://acmp.ru/index.asp?main=alltasks 314/591
2/29/2020 Все задачи сайта

если x < 0.

Входные данные
Первая строка входного файла INPUT.TXT содержит натуральное число n (1 ≤ n ≤ 10000) - длину последовательности.
Во второй строке записаны n целых чисел, по модулю не превосходящих 10000.

Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите длину k выбранной вами подпоследовательности. Во
второй строке должны быть записаны k различных чисел, разделенных пробелами - номера выбранных членов
последовательности.

Пример
№ INPUT.TXT OUTPUT.TXT
5 2
1
-1 4 -1 6 -7 2 4

Задача №580
Поднос
(Время: 1 сек. Память: 16 Мб Сложность: 34%)
Школьная столовая хочет заказать новые треугольные подносы. Естественно, был организован тендер. Основным
критерием отбора предложений является условие того, что имеющиеся в столовой круглые тарелки должны помещаться на
новые подносы.
Директор школы дал вам задание написать программу, проверяющую, помещается ли тарелка данного размера на
поднос с данными длинами сторон.

Входные данные
В первой строке входного файла INPUT.TXT находятся 3 целых положительных числа - длины сторон подноса.
Гарантируется, что поднос с такими сторонами существует. Во второй строке входного файла содержится радиус тарелки -
целое положительное число. Все числа во входном файле не превосходят 100. Радиус тарелки и стороны подноса указаны
в одних и тех же единицах измерения.

Выходные данные
Выведите в выходной файл OUTPUT.TXT сообщение YES, если тарелка помещается на поднос, и NO - в противном
случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1 NO
1
1
3 4 5 YES
2
1

Задача №581
Атака летающих тарелок
(Время: 1 сек. Память: 16 Мб Сложность: 36%)
Вы работаете в фирме, занимающейся разработкой компьютерных игр. Сейчас вы занимаетесь разработкой новой
компьютерной игры "Атака летающих тарелок". По сюжету игры на планету Зумла приземляются летающие тарелки, и их
надо уничтожать. Игрок управляет лазерной пушкой. Для того, чтобы произвести выстрел он указывает две точки на
поверхности Зумлы (которая в игре считается плоской), через которые должен проходить лазерный луч (который является
прямой).
Вы должны написать программу, определяющую, какие летающие тарелки были уничтожены выстрелом.

https://acmp.ru/index.asp?main=alltasks 315/591
2/29/2020 Все задачи сайта

Входные данные
Первая строка входного файла INPUT.TXT содержит целое число n (1 ≤ n ≤ 30000) - число приземлившихся летающих
тарелок. Вторая строка содержит числа xp1, yp1, xp2, yp2 - координаты точек, через которые проходит лазерный луч. Далее
идут n строк, каждая из которых содержит описание одной летающей тарелки в формате xi yi ri, где xi, yi - координаты
центра, ri - радиус тарелки. Все числа целые и не превосходят по модулю 10000. Радиусы летающих тарелок - целые и
положительные. Летающие тарелки могут касаться и пересекаться.

Выходные данные
В первую строку выходного файла OUTPUT.TXT выведите количество уничтоженных летающих тарелок. Во вторую
строку выведите номера уничтоженных летающих тарелок в возрастающем порядке. Тарелка считается уничтоженной,
если она имеет, хотя бы одну общую точку с лазерным лучом.

Пример
№ INPUT.TXT OUTPUT.TXT
2 2
0 0 1 1 1 2
1
2 2 100
1000 1000 1

Задача №582
Кубик
(Время: 1 сек. Память: 16 Мб Сложность: 47%)
Все мы в детстве играли в кубики. Были у нас и кубики с цифрами, и кубики с буквами. Были также и разноцветные
кубики. Маленький Андрюша тоже любит играть в кубики. У него есть несколько наборов кубиков, причем все кубики из
одного набора раскрашены одинаково, а кубики из разных наборов - по-разному.
На столе у Андрюши лежат два кубика. Помогите ему определить, принадлежат они одному набору или нет. Стол у
Андрюши стеклянный, поэтому он видит цвета всех граней кубика. Кубики принадлежат одному набору, если один из них
можно комбинацией поворотов вокруг осей, проходящих через середины противоположных граней, перевести в другой.

Входные данные
Первая строка входного файла INPUT.TXT содержит описание первого кубика в формате: цвет передней грани, цвет
задней грани, цвет верхней грани, цвет нижней грани, цвет левой грани, цвет правой грани. Во второй строке находится
описание второго кубика в таком же формате. Цвета граней кодируются числами. Все числа во входном файле - целые,
положительные и не превосходят 100.

Выходные данные
В выходной файл OUTPUT.TXT выведите «YES», если первый и второй кубики принадлежат одному набору, и «NO» -
в противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 3 4 5 6 YES
1
1 2 3 4 5 6
1 2 3 4 5 6 NO
2
1 1 1 1 1 1
1 2 3 4 5 6 YES
3
5 6 3 4 2 1

Задача №583
Рисование
(Время: 1 сек. Память: 16 Мб Сложность: 65%)

https://acmp.ru/index.asp?main=alltasks 316/591
2/29/2020 Все задачи сайта

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

Входные данные
Первая строка входного файла INPUT.TXT содержит число n - количество команд черепашки, использованных для
рисования фигуры (7 ≤ n ≤ 40 000). Следующие n строк содержат команды. Команды задаются следующим образом:

"f x" - переместиться вперед на x сантиметров (x - натуральное число);


"l" - повернуть налево;
"r" - повернуть направо.

Известно, что последовательность команд начинается с команды перемещения, не выполняется подряд две команды
поворота или две команды перемещения, последняя команда также является командой перемещения. Гарантируется, что
ломаную можно поместить в некоторый прямоугольник, длины сторон которого не превосходят 109.

Выходные данные
В выходной файл OUTPUT.TXT выведите «TRUE», если нарисованная фигура удовлетворяет описанному выше
свойству и «FALSE», если не удовлетворяет.

Пример
№ INPUT.TXT OUTPUT.TXT
11 TRUE
f 1
r
f 2
r
f 2
1
r
f 1
r
f 1
l
f 1

Задача №584
Спираль - 2
(Время: 1 сек. Память: 16 Мб Сложность: 59%)
При обучении школьников младших классов программированию часто используется
язык «Лого», позволяющий рисовать на экране картинки хвостом виртуальной
черепашки.
Рассмотрим упрощенную версию этого языка, в которой разрешается подавать
черепашке следующие команды: переместиться вперед на некоторое количество
сантиметров, рисуя за собой линию, повернуть налево на 90 градусов и повернуть
направо на 90 градусов.
Вам предлагается написать на этом языке программу, изображающую контур
спирали.
Спираль - это множество клеток, которое строится по следующим правилам.
Рассмотрим прямоугольник, состоящий из m×n единичных клеток. Закрасим некоторые из его клеток в следующей
последовательности.
https://acmp.ru/index.asp?main=alltasks 317/591
2/29/2020 Все задачи сайта

Начнем красить левый столбец снизу вверх. Когда продвижение невозможно, то есть либо следующая клетка лежит
вне прямоугольника, либо соприкасается с закрашенной ранее, направление движения поворачивается по часовой стрелке
на 90 градусов. Если и после этого поворота дальнейшее движение невозможно, процесс заканчивается. Множество
закрашенных таким образом клеток и образует спираль.

Входные данные
Входной файл INPUT.TXT содержит два целых числа m и n (1 ≤ m, n ≤ 20 000).

Выходные данные
В выходной файл OUTPUT.TXT выведите последовательность команд, в результате выполнения которой будет
нарисован контур ломаной. Напомним формат, в котором следует выводить результат. Первая строка должна содержать k -
количество команд. Последующие k строк задают либо длину отрезка d, который надо провести, в формате f d, либо
направление поворота - l для поворота налево и r для поворота направо. Команды рисования отрезка и поворота должны
чередоваться, начинаясь и заканчиваясь командой рисования отрезка. Считайте, что начало первого отрезка совпадает с
левым нижним углом прямоугольника. При этом контур должен быть выведен в направлении обхода по часовой стрелке, и
никакая его часть ненулевой длины не должна быть нарисована дважды.

Пример
№ INPUT.TXT OUTPUT.TXT
6 7 31
f 6
r
f 7
r
f 6
r
f 5
r
f 4
r
f 3
r
f 2
r
f 1
1
r
f 1
l
f 1
l
f 2
l
f 3
l
f 4
l
f 5
l
f 5
r
f 1

Задача №585
Египетские знаки
(Время: 1 сек. Память: 16 Мб Сложность: 72%)
Прошлым летом школьник Вася побывал в Египте. И лишь сейчас он вспомнил, что во время своей поездки он успел
сфотографировать много интересностей. Перебирая эти фотографии, больше всего он заинтересовался видами пирамид в
Гизе. Пирамиды, помимо всяких иероглифов, содержали удивительные знаки - 1, 2, 3, 4, 5, 6, 7, 8, 9, 0. Внимательно
https://acmp.ru/index.asp?main=alltasks 318/591
2/29/2020 Все задачи сайта

присмотревшись Вася заметил, что каждая строка таких странных символов является степенью двойки и более того первая
строка начинается последовательностью символов 1, вторая - 2, ..., сто двадцатая - 120, и т.д. Но все было бы хорошо, если
бы Вася пользовался современными фотоаппаратами, поэтому его старенькая мыльница плохо сфотографировала наиболее
освещенные части пирамиды, поэтому все символы разобрать невозможно и определить показатель степени двойки,
соответствующий таким строкам, затруднительно.
Вася задумался о восстановлении символов и, наконец, решил попросить кого-нибудь написать программу (Вася
учится в 6 классе и не знает языков программирования), которая бы определила показатель степени двойки, которая
записана в N-ой строке.

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

Входной файл INPUT.TXT содержит единственное число N ≤ 107.

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

В выходной файл OUTPUT.TXT выведите минимальное натуральное число K такое, что 2K в десятичной записи
начинается c числa N, или если Вася что-то напутал и такого числа нет - выведите -1.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 12 7
2 134 27
3 82 209

Пояснение

Пример №1: 27=128


Пример №2: 227=134217728

Задача №586
Законопроект
(Время: 1 сек. Память: 16 Мб Сложность: 62%)
В связи с изменением политической обстановки в мире и во избежание наступления экономического кризиса в стране,
президент Флатландии на очередном заседании кабинета министров поставил перед правительством первоочередную
задачу о подготовке пакета реформ. Сразу же после заседания был созван специальный комитет, который подготовил k
различных законопроектов, каждый из которых описывал один из возможных путей проведения реформ. Перед
парламентом Флатландии (который состоит из n депутатов) встала нелегкая задача выбора одного из этих законопроектов.
Согласно конституции Флатландии, все обсуждения законопроектов в парламенте проходят в одном чтении. После
того, как депутаты ознакомятся с проектом закона, проводится голосование. Каждый из депутатов может проголосовать
либо за принятие закона, либо против. При этом, закон принимается, если за него проголосовало как минимум m
депутатов.
Известно, что законопроекты, подготовленные специальным комитетом, будут обсуждаться на заседаниях парламента
последовательно, начиная с проекта номер 1 и заканчивая проектом номер k. При этом, если в результате обсуждения
законопроекта номер i этот законопроект будет принят, то оставшиеся законопроекты (с номерами от i + 1 до k) не будут
обсуждаться вообще. Если же законопроект с номером i будет отклонен, то парламент перейдет к обсуждению следующего
законопроекта (с номером i + 1). Если в результате последовательного голосования парламент отвергнет все проекты, то
процесс проведения реформ отложится на неопределенное время (в этом случае страну, скорее всего, ожидает глубокий
кризис).
Известно также, что каждый депутат Флатландии кратко ознакомился с каждым законопроектом еще до первого
заседания парламента и составил для себя список всех проектов в порядке своих предпочтений. Обозначим номер j-го
законопроекта в списке предпочтений i-го депутата, как ai,j .

Тогда это будет означать, что i-й депутат во время голосований будет пытаться добиться принятия проекта с номером
ai,1, а если это не возможно, то проекта с номером ai,2, если и этого никак не добиться, то i-й депутат будет пытаться
протолкнуть закон номер ai,3 и так далее. При этом никакой депутат не хочет допустить кризиса в стране, и, поэтому, в
https://acmp.ru/index.asp?main=alltasks 319/591
2/29/2020 Все задачи сайта

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

Входные данные
В первой строке входного файла INPUT.TXT записаны три целых числа: n (1 ≤ n ≤ 1000), m (1 ≤ m ≤ n) и k (1 ≤ k ≤
1000). Далее следует n строк, каждая из которых содержит k чисел (j-е число в i-й строке равно ai,j).

Выходные данные
В выходной файл OUTPUT.TXT выведите номер законопроекта, который будет принят парламентом, или слово
"Crisis" (без кавычек), если все они будут отклонены.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 2 4 1
3 4 1 2
1
2 3 4 1
4 1 2 3
3 2 4 3
3 1 4 2
2
1 3 4 2
4 2 3 1

Задача №587
Экспедиция на Морс
(Время: 1 сек. Память: 16 Мб Сложность: 70%)
Для исследования плоского космоса была организована сверхсекретная научная экспедиция. Специально для нее был
сконструирован космический корабль Z-239, а в качестве первой планеты для исследования была выбрана Зумла.
На Z-239 установлено n двигателей на антиматерии, каждый из которых характеризуется вектором силы тяги, которую
он создает. Для перемещения корабля необходимо включить некоторые двигатели, при этом общая сила тяги будет равна
векторной сумме тяг включенных двигателей.
При старте корабля его можно ориентировать произвольным образом, после чего включить некоторые (возможно, все)
двигатели.
Очередной целью экспедиции была выбрана планета Морс. Разумеется, руководитель экспедиции хочет добраться
туда как можно быстрее. Чем больше модуль суммарной силы тяги, тем быстрее полетит корабль. Какие двигатели нужно
включить, чтобы добраться на Морс как можно быстрее?

Входные данные
Первая строка входного файла INPUT.TXT содержит натуральное число n - количество двигателей (1 ≤ n ≤ 30 000). В
i+1-ой строке записана пара чисел - модуль силы тяги i-ого двигателя, и угол в градусах между вектором его силы тяги и
направлением на Полярную звезду перед поворотом корабля (вещественное число от 0 до 360 градусов). Модуль силы тяги
каждого двигателя не превосходит 10 000.

Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите количество k двигателей, которые надо включить. Во
строке должны быть записаны k различных чисел, разделенных пробелами - номера включаемых двигателей в любом
порядке.

Примеры

https://acmp.ru/index.asp?main=alltasks 320/591
2/29/2020 Все задачи сайта

№ INPUT.TXT OUTPUT.TXT
3 2
5.00 0.00 1 3
1
3.00 90.00
4.00 270.00
2 1
2 10.63 228.81 2
10.63 48.81

Задача №588
Число
(Время: 1 сек. Память: 16 Мб Сложность: 39%)
Скажем, что число в b-ой системе счисления описывает себя, если оно - b-значное, его первая цифра равна числу
единиц в нем, вторая цифра равна числу двоек, и т.д., b-1-ая цифра равна числу цифр b-1, а последняя цифра равна числу
нулей. Примером такого числа для b = 5 является 12002.
Задано число b. Требуется найти число в системе счисления по основанию b, которое описывает себя.

Входные данные
Входной файл INPUT.TXT содержит единственное целое число b (2 ≤ b ≤ 1000).

Выходные данные
В выходной файл OUTPUT.TXT выведите любое описывающее себя число в системе счисления с основанием b, или
-1, если такого числа не существует. Каждую цифру числа выводите на отдельной строке в десятичной записи.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 1
2
1 0
0
2
2 2 -1

Задача №589
Физика
(Время: 1 сек. Память: 16 Мб Сложность: 84%)
В трехмерном пространстве с прямоугольной декартовой системой координат находятся n абсолютно упругих шаров.
Для каждого из них известны: масса mi, радиус ri, координаты xi, yi, zi и вектор скорости vi = (vix, viy, viz) в начальный
момент времени. Необходимо рассчитать их координаты и скорости по прошествии T секунд от начального момента
времени. Шары взаимодействуют только при соударениях, других взаимодействий между ними нет.
Учтите, что шары могут сталкиваться, и их столкновение описывается законами сохранения энергии и импульса, то

есть сохраняется величина , а также вектор .


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

Входные данные
Первая строка входного файла INPUT.TXT содержит натуральное число n (1 ≤ n ≤ 50) - количество шаров. Следующие
n строк входного файла содержат описание начального состояния шаров, (i+1)-ая строка содержит 8 разделенных
пробелами вещественных чисел, не более чем с тремя знаками после запятой: mi, ri, xi, yi, zi, vix, viy, viz.
Последняя строка содержит целое число T (0 ≤ T ≤ 100) - время, состояние системы по прошествии которого надо
рассчитать. Все проекции скоростей заданы в метрах в секунду, все радиусы и координаты центров - в метрах, все массы -
https://acmp.ru/index.asp?main=alltasks 321/591
2/29/2020 Все задачи сайта

в килограммах, а время T задано в секундах. Гарантируется, что входные данные таковы, что в каждом столкновении
участвуют ровно 2 шара. Все числа во входном файле не превосходят 100 по абсолютной величине. Начальное положение
шаров таково, что они не касаются друг друга и не пересекаются. Массы и радиусы всех шаров строго положительны.

Выходные данные
В выходной файл OUTPUT.TXT выведите n строк. На i-ой строке выведите 6 вещественных чисел с точностью не
меньше чем 3 знака после десятичной точки: x-координату центра i-ого шара, y-координату центра i-ого шара, z-
координату центра i-ого шара, проекцию его скорости на ось Ox, проекцию его скорости на ось Oy, проекцию его скорости
на ось Oz по прошествии T секунд. Если столкновение произошло ровно в момент времени T, выведите скорость шаров,
участвовавших в этом столкновении, такой, какая она будет непосредственно после этого столкновения. Координаты
выводите в метрах, проекции скоростей - в метрах в секунду.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 -155.643 -155.643 -155.643 -1.667 -1.667
1.0 1.0 0.0 0.0 0.0 1.00 1.0 1.0 -1.667
2.0 2.0 10.0 10.0 10.0 -1.0 -1.0 -47.028 -47.028 -47.028 -0.667 -0.667 -0.667
1 -1.0 26.566 26.566 26.566 0.167 0.167 0.167
3.0 3.0 20.0 20.0 20.0 -0.5 -0.5
-0.5
100
2 -1.000 0.000 0.000 -1.000 0.000 0.000
1.0 1.0 0 0 0 0 0 0 2.000 0.000 0.000 0.000 0.000 0.000
2
1.0 1.0 10 0 0 -1 0 0
9

Задача №590
Зазеркалье
(Время: 1 сек. Память: 16 Мб Сложность: 42%)
Дано множество из N точек в декартовой системе координат. Требуется определить, является ли это множество
центрально-симметричным.

Входные данные
В первой строке входного файла INPUT.TXT записано натуральное число N, не превышающее 1000. В следующих N
строках записаны по три целых числа x, y, z, обозначающие координаты точки. Все точки попарно различны. Все
координаты не превышают по модулю 2×109.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести Yes, если множество является центрально-
симметричным и No в противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 Yes
1 0 0 0
5 7 3
3 No
0 0 5
2
5 0 0
0 5 0

Задача №591
Транспортная реформа

https://acmp.ru/index.asp?main=alltasks 322/591
2/29/2020 Все задачи сайта

(Время: 1 сек. Память: 32 Мб Сложность: 70%)


Далекое королевство состоит из n городов, соединенных m дорогами, при этом из каждого города можно доехать в
каждый по дорогам (по каждой из дорог можно ездить в обоих направлениях). Некоторые дороги находятся в хорошем
состоянии, другие же требуют ремонта.
Содержание каждой из дорог обходится казне в 239239 дублонов в год. В связи с новой транспортной реформой,
направленной на уменьшение ненужных расходов, было решено оставить на государственном содержании как можно
меньше дорог, но по-прежнему должна остаться возможность из каждого города добраться в любой другой по
государственным дорогам. Заметим, что при этом на государственном содержании останется ровно n - 1 дорога.
При этом, возможно, в число оставленных дорог войдут и требующие ремонта. Сэкономленные в связи с этой
реформой деньги планируется направить на ремонт дорог, оставленных на государственном содержании.
В королевстве есть две конкурирующие фирмы, занимающиеся починкой дорог. Поскольку король не желает быть
обвиненным в поддержке одной из этих фирм, он хочет иметь возможность распределить дороги, оставленные на
государственном содержании и требующие ремонта, поровну между ними. В связи с этим требуется оставить на
государственном содержании четное число дорог, требующих ремонта.
Требуется составить соответствующий желанию короля список дорог, которые следует оставить на государственном
содержании.

Входные данные
Первая строка входного файла INPUT.TXT содержит натуральные числа n (2 ≤ n ≤ 30 000) и m (1 ≤ m ≤ 100 000) -
число городов и дорог в королевстве соответственно. Далее идут m строк - описание дорог. Дорога описывается тремя
числами. Первые два из них - номера городов, которые она соединяет, третье равно 1, если дорога не требует ремонта, и 2,
если требует. Города пронумерованы целыми числами от 1 до n. Ни одна дорога не соединяет город с самим собой, между
любыми двумя городами не более одной дороги.

Выходные данные
В выходной файл OUTPUT.TXT выведите n-1 строку - номера государственных дорог (дороги нумеруются с 1 в том
порядке, в котором они идут во входном файле). Если оставить на государственном содержании дороги указанным образом
невозможно, то следует вывести -1.

Пример
№ INPUT.TXT OUTPUT.TXT
4 4 2
1 2 1 3
1 2 3 2 4
3 4 1
4 1 2

Задача №592
Небоскреб
(Время: 1 сек. Память: 16 Мб Сложность: 77%)
Спасатели разрабатывают новую систему действий при возникновении аварийных ситуациях на небоскребах. В этих
случаях важно определять, какие части здания стоят устойчиво, а какие - нет.
На данный момент используется следующая двумерная модель. Строение описывается как прямоугольник,
составленный из одинаковых блоков квадратной формы. Предполагается, что при аварии некоторые из блоков полностью
разрушаются, а остальные остаются неповрежденными. Будем называть сегментом множество блоков, таких что из любого
можно дойти до любого другого, если разрешается переходить из блока в блок, имеющий с ним общую сторону.
Считается, что сегмент стоит устойчиво, если один из его блоков соприкасается с нижней стороной прямоугольника.
Сегменты из блоков, которые стоят неустойчиво, проваливаются вниз до тех пор, пока какой-либо из блоков сегмента
не будет соприкасаться с нижней стороной прямоугольника или с блоком устойчивого сегмента. После этого сегмент так
же считаются стоящим устойчиво.
По данным о том, какие блоки сохранились, требуется определить положение верхнего блока в каждом вертикальном
столбце.

https://acmp.ru/index.asp?main=alltasks 323/591
2/29/2020 Все задачи сайта

Входные данные
Первая строка входного файла INPUT.TXT содержит одно целое число m (1 ≤ m ≤ 10 000). За ней следуют m строк,
описывающих вертикальные столбцы. Описание производится в таком порядке: сначала записано число ai оставшихся
целыми фрагментов этого вертикального столбца, за которым следуют 2ai чисел l(1)i, r(1)i, l(2)i, r(2)i, …, l(ai)i, r(ai)i, задающие
нижние и верхние границы уцелевших фрагментов. При этом 1 ≤ l(1)i ≤ r(1)i , l(2)i ≤ r(2)i , . . . , l(ai)i ≤ r(ai)i ≤ 106, для всех
допустимых i и j выполнено r(j)i < l(j+1)i - 1. Сумма всех ai не превосходит 100 000.

Выходные данные
В выходной файл OUTPUT.TXT выведите m чисел - высоты, на которых находится самый верхний блок в
соответствующем вертикальном столбце.

Пример
№ INPUT.TXT OUTPUT.TXT
8 5 5 5 5 6 6 6 1
2 1 1 4 6
2 1 1 6 6
2 1 4 6 6
1 2 1 1 6 6
3 1 1 4 6 8 8
2 1 1 8 8
2 1 3 7 8
1 6 6

Задача №593
Башни - 2
(Время: 1 сек. Память: 16 Мб Сложность: 53%)
Для того, чтобы защититься от некоторых соседей, король решил
построить стену, имеющую форму отрезка. С некоторыми соседями
король находится в хороших отношениях, а некоторым готовится
объявить войну. Король решил не загораживаться от друзей очень
высокой стеной. Однако, стена, отделяющая его от врагов, должна быть
достаточно высокой. Было решено, что для наблюдения за прилежащей
территорией нужно построить башни. При этом, на участках между
башнями высота стен должна изменяться равномерно.
После того, как стена и башни были построены, король заметил, что башни могут быть использованы для наблюдения
за состоянием других башен. Однако, некоторые башни оказались очень высокими и загородили другие.
Для каждой башни король попросил вас выяснить, сколько других башен из нее видно.

Входные данные
В первой строке входного файла INPUT.TXT находится n (2 ≤ n ≤ 2000) - количество башен стены. В следующих n
строках находятся натуральные числа xi и hi (0 ≤ xi ≤ 100000, 1 ≤ hi ≤ 10000) - координата и высота i-ой башни. Все xi
различны.

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

https://acmp.ru/index.asp?main=alltasks 324/591
2/29/2020 Все задачи сайта

Выходной файл OUTPUT.TXT должен содержать n строк. В i-ой строке выведите количество башен, которые видно из
башни номер i.

Пример
№ INPUT.TXT OUTPUT.TXT
11 2
0 4 5
3 5 4
5 3 4
6 4 4
7 5 10
1
8 8 4
10 5 4
12 4 5
14 3 3
17 1 5
19 7

Задача №594
Треугольник - 2
(Время: 2 сек. Память: 32 Мб Сложность: 45%)
После окончания многолетней войны короли-победители решили разделить между собой захваченную территорию.
Для того, чтобы избежать лишних споров, короли решили делить территорию следующим образом.
Каждому королю был предоставлен набор, состоящий из n отрезков L1, . . . , Ln. Королям разрешается присоединять к
их королевствам территорию, имеющую форму треугольника, составленного из имеющихся отрезков.
Помогите королю вашего королевства максимизировать площадь треугольника.

Входные данные
На первой строке входного файла INPUT.TXT задано число n (3 ≤ n ≤ 100000) - количество отрезков в наборе. В
следующих n строках заданы длины отрезков в следующем формате.
Сначала указывается целое положительное число L - длина отрезка, а затем единица измерения (m, km, mile, uin, kairi,
zhang, sen).
Напомним, что: 1mile = 1609m, 1km = 1000m, 1uin = 33m, 1kairi = 1852m, 1zhang = 3m и 1sen = 38m.
Длины всех отрезков не превосходят десяти километров. Гарантируется, что из заданных отрезков можно выбрать три
отрезка так, что из них можно составить треугольник.

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

В выходной файл OUTPUT.TXT выведите максимальную площадь (в таланг вахах) с точностью 10-6 и номера трех
отрезков в любом порядке (если ответов несколько, выведите любой). Помните, что один таланг вах равен четырем
квадратным метрам.

Пример
№ INPUT.TXT OUTPUT.TXT
7 291590.0233624191
1mile 7 1 5
1km
100m
1
20uin
1kairi
300zhang
40sen

https://acmp.ru/index.asp?main=alltasks 325/591
2/29/2020 Все задачи сайта

Задача №595
Слова
(Время: 0,5 сек. Память: 16 Мб Сложность: 48%)
Для шифрования слов с ними можно производить множество различных операций. Например, интересна такая
операция: первые несколько букв заданного слова приписываются к его концу в обратном порядке, после чего удаляются
из начала слова. При этом слово a1a2 … akak+1 … an переходит в слово ak+1 … anakak-1 … a1 (число k выбирается в
диапазоне от 0 до n).
Для двух заданных слов требуется определить, можно ли применением описанной операции преобразовать первое
слово во второе.

Входные данные
Входной файл INPUT.TXT состоит из двух строк - на первой из них записано исходное слово, а во второй -
предполагаемый результат. Слова состоят из строчных и заглавных английских букв. Длины строк не превышают 50000
символов.

Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите "Yes", если преобразование возможно, и "No", если нет. В
случае положительного ответа во второй строке выведите k - длину перемещаемой части исходного слова k (из всех таких
k выберите минимальный).

Примеры
№ INPUT.TXT OUTPUT.TXT
wpwdwpw Yes
1
wdwpwpw 2
dWOddWd No
2
dOdWdWd

Задача №596
Сотовая связь в большом городе
(Время: 1 сек. Память: 16 Мб Сложность: 35%)
В одном из больших городов нашей страны хорошо развит рынок сотовой связи. На рынке присутствуют несколько
операторов, каждому из которых принадлежит некоторое количество базовых станций, с помощью которых организуется
связь.
Каждая базовая станция характеризуется своими координатами (для простоты размерами базовых станций
пренебрегаем) и радиусом надежной связи (если абонент находится на расстоянии, не превосходящем этот радиус, от
базовой станции, то она может использоваться для работы с ним - передачи ему сигналов и приема сигналов от него).
Известный производитель сотовых телефонов Mokea планирует оснастить свою новую модель сотового телефона
функцией определения базовых станций, с которыми может работать абонент. Вам же предстоит написать программу,
которая по местоположению абонента для каждого оператора определит, сколько базовых станций этого оператора могут
работать с абонентом.

Входные данные
Первая строка входного файла INPUT.TXT содержит целое число n (1 ≤ n ≤ 10000) - количество базовых станций в
городе. Далее идут описания этих базовых станций. Каждое описание занимает две строки. На первой расположено
название оператора сотовой связи, которому принадлежит эта базовая станция, а на второй - три целых числа x, y, r (-10000
≤ x, y ≤ 10000, 1 ≤ r ≤ 10000) - соответственно ее координаты и радиус надежной связи. Последняя строка входного файла
содержит два целых числа xa, ya (-10000 ≤ xa, ya ≤ 10000) - координаты абонента.
Все координаты во входном файле даны в одной и той же декартовой прямоугольной системе координат. Названия
операторов - это непустые строки длиной не более 50 символов, состоящие из цифр, строчных и прописных букв
английского алфавита. Прописные и строчные буквы английского алфавита различаются (например, MPS и mps - два
разных оператора).

Выходные данные
https://acmp.ru/index.asp?main=alltasks 326/591
2/29/2020 Все задачи сайта

На первой строке выходного файла OUTPUT.TXT выведите число k – количество операторов сотовой связи,
работающих в городе (разумеется, два оператора считаются разными, если их названия не совпадают). Далее выведите k
строк. Каждая из этих строк должна содержать название оператора и количество базовых станций этого оператора,
доступных абоненту. Первым должно идти название оператора, число базовых станций должно быть отделено от него
одним пробелом. В этом списке операторы должны быть перечислены в том же порядке, в каком они встречаются во
входном файле (см. примеры). Гарантируется, что k ≤ 100.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 5
Megahorn Megahorn 1
0 0 10 BeepLine 1
BeepLine MPS 1
10 10 10 Ele2 0
MPS SkyPink 0
1
0 0 10
Ele2
0 0 1
SkyPink
100 100 10
5 5
3 2
Megahorn Megahorn 2
0 0 10 MPS 1
MPS
2
1 1 10
Megahorn
2 2 10
1 1

Задача №597
Внеземные гости
(Время: 1 сек. Память: 16 Мб Сложность: 10%)
Недавно на поле фермера Джона были обнаружены следы приземления летающих тарелок. Об этом даже писала
газета Mew Yorc Courier.
Поле фермера Джона имеет форму круга радиусом r1. По сообщениям журналистов были обнаружены два следа от
летающих тарелок, имевшие форму кругов. Один из них имел радиус r2, второй - радиус r3. Также сообщается, что они
находились внутри поля фермера Джона и не пересекались, ни один из них не лежал внутри другого. При этом, они,
возможно, касались друг друга и/или границы поля.
Поскольку журналисты часто склонны преувеличивать масштабы событий, необходимо написать программу, которая
будет проверять, могли ли иметь место события, описанные в газете.

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

Входной файл INPUT.TXT содержит три целых положительных числа - r1, r2, r3 (1 ≤ r1, r2, r3 ≤ 109).

Выходные данные
В выходной файл OUTPUT.TXT выведите слово YES, если информация, опубликованная в газете, может
соответствовать правде, и слово NO - иначе.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 10 10 10 NO
2 10 3 4 YES

https://acmp.ru/index.asp?main=alltasks 327/591
2/29/2020 Все задачи сайта

Задача №598
Друзья - 2
(Время: 1 сек. Память: 16 Мб Сложность: 51%)
Несколько человек решили поехать отдохнуть на природе, подышать свежим воздухом и т.п. Как это часто бывает,
некоторые из них дружат друг с другом, а некоторые - нет. Для того, чтобы не испортить никому настроение, они решили
разделиться на несколько групп. При этом, в каждой группе должно быть не более 5 человек и они должны дружить друг с
другом.
Найдите такое разбиение людей на группы, в котором размер наибольшей группы был бы максимальным (среди всех
разбиений).

Входные данные
Первая строка входного файла INPUT.TXT содержит целое число n (1 ≤ n ≤ 15) - количество людей. Следующие n
строк содержат по n чисел. Если i-ый и j-ый люди дружат, то j-ое число i + 1-ой строки равно 1, иначе - 0.

Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите число групп. Во второй строке выходного файла выведите n
чисел (i-ое число - номер группы, в которой находится i-ый человек). Так как в любом случае количество групп не
превзойдет n, нумеруйте группы целыми числами от 1 до n. Если решений несколько, то выведите любое.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 2
1 1 0 1 1 2
1
1 1 0
0 0 1
8 3
1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 3
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
2 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1

Задача №599
Телешоу
(Время: 2 сек. Память: 16 Мб Сложность: 66%)
В новом интеллектуальном телешоу участнику, проходящему в суперфинал, предлагается следующая игра: на каждом
из n секторов большого барабана записывается буква английского алфавита Li. После минуты на размышления игрок
указывает одну из позиций на барабане i. Его выигрыш вычисляется по такому правилу: для каждой позиции j меньшее из
расстояний по и против часовой стрелке от i до j, измеренное в секторах, умножается на абсолютную величину разности
номеров в алфавите букв Li и Lj , после чего все такие величины суммируются.
А Вы можете написать программу, находящую способ получения наибольшего выигрыша?

Входные данные
Первая строка входного файла INPUT.TXT содержит натуральное число n (1 ≤ n ≤ 100000) - размер барабана. Во
второй строке задаются разделенные пробелами строчные английские буквы, записанные на барабане.

Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите наибольший выигрыш, который можно получить при
заданном расположении букв на барабане. Во второй строке выведите номер какого-нибудь из секторов, на который игрок
должен для этого указать.
https://acmp.ru/index.asp?main=alltasks 328/591
2/29/2020 Все задачи сайта

Пример
№ INPUT.TXT OUTPUT.TXT
4 55
1
r e a r 3

Задача №600
Распознавание языка
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Важным понятием теории формальных грамматик и автоматов является формальный язык. Неформально его можно
определить как некоторое множество слов, где под словом понимается некоторая строка из символов.
В этой задаче необходимо проверить, принадлежит ли данное слово языку {0n1n2n, n ≥ 1}. В этот язык входят те и
только те слова, которые имеют такую структуру: в них нулей столько же, сколько единиц, а единиц - столько же, сколько и
двоек. При этом любой ноль находится ближе к началу слова, чем любая единица, а любая единица находится ближе к
началу слова, чем любая двойка. Например, слово 001122 принадлежит этому языку, а слово 0000111122220 - не
принадлежит.

Входные данные
Первая строка входного файла INPUT.TXT содержит целое положительное число n (n ≤ 10) – количество слов, которые
надо проанализировать. Далее идут n строк, каждая из которых содержит по одному слову. Слова имеют длину не более
тридцати тысяч символов и состоят только из нулей, единиц и двоек. Каждое из слов состоит хотя бы из одного символа.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать ровно n строк. Для каждого слова из входного файла выведите по
одной строке, содержащей слово YES, если оно принадлежит указанному выше языку, и NO - иначе.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 YES
001122 NO
1
00011122222 YES
000111222
2 NO
2 0000111122220 YES
012

Задача №601
Цветной лабиринт
(Время: 1 сек. Память: 16 Мб Сложность: 38%)
В одном из парков одного большого города недавно был организован новый аттракцион Цветной лабиринт. Он
состоит из n комнат, соединенных m двунаправленными коридорами. Каждый из коридоров покрашен в один из ста цветов,
при этом от каждой комнаты отходит не более одного коридора каждого цвета. При этом две комнаты могут быть
соединены любым количеством коридоров.
Человек, купивший билет на аттракцион, оказывается в комнате номер один. Кроме билета, он также получает
описание пути, по которому он может выбраться из лабиринта. Это описание представляет собой последовательность
цветов c1…ck. Пользоваться ей надо так: находясь в комнате, надо посмотреть на очередной цвет в этой
последовательности, выбрать коридор такого цвета и пойти по нему. При этом если из комнаты нельзя пойти по коридору
соответствующего цвета, то человеку приходится дальше самому выбирать, куда идти.
В последнее время в администрацию парка стали часто поступать жалобы от заблудившихся в лабиринте людей. В
связи с этим, возникла необходимость написания программы, проверяющей корректность описания и пути, и, в случае ее
корректности, сообщающей номер комнаты, в которую ведет путь.
Описание пути некорректно, если на пути, который оно описывает, возникает ситуация, когда из комнаты нельзя пойти
по коридору соответствующего цвета.
https://acmp.ru/index.asp?main=alltasks 329/591
2/29/2020 Все задачи сайта

Входные данные
Первая строка входного файла INPUT.TXT содержит два целых числа n (1 ≤ n ≤ 10000) и m (1 ≤ m ≤ 100000) -
соответственно количество комнат и коридоров в лабиринте. Следующие m строк содержат описания коридоров. Каждое
описание содержит три числа u (1 ≤ u ≤ n), v (1 ≤ v ≤ n), c (1 ≤ c ≤ 100) - соответственно номера комнат, соединенных этим
коридором, и цвет коридора. Следующая, (m+2)-ая строка входного файла содержит длину описания пути - целое число k
(0 ≤ k ≤ 100000). Последняя строка входного файла содержит k целых чисел, разделенных пробелами, - описание пути по
лабиринту.

Выходные данные
В выходной файл OUTPUT.TXT выведите строку INCORRECT, если описание пути некорректно, иначе выведите
номер комнаты, в которую ведет описанный путь. Помните, что путь начинается в комнате номер один.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 2 3
1 2 10
1 1 3 5
5
10 10 10 10 5
3 2 INCORRECT
1 2 10
2 2 3 5
5
5 10 10 10 10
3 2 INCORRECT
1 2 10
3 1 3 5
4
10 10 10 5

Задача №602
Точки на прямой
(Время: 0,5 сек. Память: 16 Мб Сложность: 32%)
На прямой отмечено N точек. Требуется найти такой отрезок длины L, на котором лежат M из отмеченных точек (M ≥
2), что величина L/M минимальна. Считается, что точки, совпадающие с одним из концов отрезка, лежат на нем.

Входные данные
Входной файл INPUT.TXT содержит количество точек N (2 ≤ N ≤ 10000). На второй строке записаны координаты этих
точек Xi - целые числа, разделенные пробелами. При этом |Xi| ≤ 30000 и Xi < Xj при i < j.

Выходные данные
В выходной файл OUTPUT.TXT выведите координаты начала и конца найденного отрезка A и B (A < B). Если
решений несколько, выведите любое.

Пример
№ INPUT.TXT OUTPUT.TXT
3 -2 -1
1
-2 -1 1

Задача №603
Поиск
(Время: 1 сек. Память: 16 Мб Сложность: 48%)

https://acmp.ru/index.asp?main=alltasks 330/591
2/29/2020 Все задачи сайта

Обычно программы, предоставляющие возможность поиска заданных строк в текстовых файлах, недостаточно гибко
обрабатывают различные пробельные символы. Например, если в некотором тексте слова «Internet» и «olympiad»
разделены переводом строки, словосочетание «Internet olympiad» чаще всего не будет обнаружено в этом месте. В данной
задаче пробельными символами мы будем считать пробелы, символы табуляции (код символа 9), а так же переводы строк.
Любую последовательность идущих подряд непробельных символов будем называть словом.
Ваша программа должна производить обработку одного запроса на поиск словосочетания в тексте. Словосочетание
будет задано как последовательность слов, состоящих из цифр и строчных и прописных букв английского алфавита,
каждые два из которых разделены пробелом. Будем считать, что некоторая последовательность символов, первый и
последний из которой непробельные, является вхождением этого словосочетания в текст, если после замены каждого блока
пробельных символов из этой последовательности на один пробел она совпадет с заданным словосочетанием с точностью
до регистра букв. Для представления ответа перед каждым вхождением словосочетания в исходный текст следует
поставить символ «@».

Входные данные
Первая строка входного файла INPUT.TXT, заканчивающаяся переводом строки, задает запрос. Длина словосочетания
не превосходит 100 символов. Последующие строки описывают сам текст, размер которого не превосходит 2000 символов.
Файл заканчивается переводом строки.

Выходные данные
В выходной файл OUTPUT.TXT выведите результат применения к тексту описанной процедуры. Он должен
отличаться от исходного текста только добавлением символов «@».

Пример
№ INPUT.TXT OUTPUT.TXT
internet olympiad @Internet Olympiads
Internet Olympiads Everyone is welcome to
Everyone is welcome to participate in @internet
1 participate in internet olympiads.
olympiads. Jury of
Jury of @internet olympiads
internet olympiads

Задача №604
Кактусы
(Время: 1 сек. Память: 16 Мб Сложность: 78%)
Вершинный кактус - это связный неориентированный граф, каждая вершина которого лежит не более, чем на одном
простом цикле.
Дерево можно превратить в кактус, добавив в него несколько ребер (поскольку дерево само является кактусом, то
можно не добавлять ребер вообще). Вообще говоря, может существовать несколько способов превратить дерево в кактус.
Количество способов сделать это назовем кактусастостью дерева.
Например, кактусастость дерева, изображенного на картинке слева, равна 12. Двенадцать кактусов, в которые оно
может быть превращено, изображены справа.

Для заданного дерева требуется найти его кактусастость.

Входные данные
Первая строка входного файла INPUT.TXT содержит одно целое число n - количество вершин в дереве (1 ≤ n ≤ 200).
Следующие n-1 строк задают ребра дерева.

https://acmp.ru/index.asp?main=alltasks 331/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT выведите единственное целое число - кактусастость заданного дерева.

Пример
№ INPUT.TXT OUTPUT.TXT
6 12
1 3
2 3
1
3 4
4 5
4 6

Задача №605
Дартс
(Время: 1 сек. Память: 16 Мб Сложность: 38%)
Игра в дартс очень популярна в Великобритании и Голландии. В игре принимают
участие несколько игроков. Они по очереди бросают в мишень по три дротика.
В начале игры каждый игрок имеет некоторое количество очков, обычно 501. За каждое
попадание дротика в мишень сумма игрока уменьшается на некоторое число, в зависимости
от того, в какую часть мишени он попал. Первый, кто достигает нуля очков, считается
победителем.
Внешний вид мишени показан на рисунке справа. Она разделена на 20 секторов,
расположенных вокруг небольшого центрального круга. Этот круг, в свою очередь, делится
на внутреннюю и внешнюю часть (иногда внутренняя часть называется «яблочко»).
Попадание во внешнюю часть центрального круга оценивается 25 очков, а в «яблочко» -
вдвое больше, то есть в 50 очков. Стоимость сектора равняется числу, которое на нем написано. Кроме того на мишени
выделены два кольца - внешнее и внутреннее. Попадание в них оценивается соответственно в два и в три раза больше, чем
в оставшуюся часть соответствующего сектора.
Существуют дополнительные правила для последней серии бросков, в которой игрок должен достичь нуля очков. В
этой серии игроку придется бросить в мишень от одного до трех дротиков. Игрок должен достичь в точности нуля очков,
получение отрицательной суммы считается ошибкой. Последний дротик должен быть «двойным», то есть попасть во
внешнее кольцо какого-либо сектора или в «яблочко» - (оно считается удвоением внешней часть центрального круга).
Например, один из правильных способов закончить игру, имея 50 очков - бросить дротики в «18» и «D16».
Способы «D20», «10», или «20», «T10» не подходят: последний бросок не является удвоенным. Еще один возможный
способ победить в этом случае - просто попасть в «яблочко» («Bull»). По количеству оставшихся очков, найдите все
способы правильно закончить игру.

Входные данные
Входной файл INPUT.TXT содержит число n - количество оставшихся очков (1 ≤ n ≤ 200).

Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите k - количество способов правильно завершить партию.
Каждая из следующих k строк должна содержать описание одного правильного способа. При этом число от 1 до 20
отвечает попаданию в соответствующий сектор. Буква «D» перед числом обозначает попадание во внешнее (удваивающее)
кольцо, а «T» - во внутреннее (утраивающее). Внешняя часть центрального круга обозначается как «25», а «яблочко» (bull
eye) - словом «Bull».

Пример
№ INPUT.TXT OUTPUT.TXT
1 5 7
1 D1 D1
1 2 D1

https://acmp.ru/index.asp?main=alltasks 332/591
2/29/2020 Все задачи сайта
1 D2
D1 1 D1
T1 D1
2 1 D1
3 D1

Задача №606
Треугольник - 3
(Время: 1 сек. Память: 16 Мб Сложность: 12%)
Даны длины трех отрезков. Требуется проверить: могут ли они являться сторонами невырожденного треугольника.

Входные данные
Входной файл INPUT.TXT содержит 3 натуральных числа X Y Z – длины заданных отрезков. Длины отрезков
записаны в одной строке через пробел и не превышают 1000.

Выходные данные
В выходной файл OUTPUT.TXT выведите YES, если отрезки могут быть сторонами треугольника и NO в противном
случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 4 5 YES
2 1 1 5 NO

Задача №607
Домино в казино
(Время: 1 сек. Память: 16 Мб Сложность: 72%)
Домино известно в качестве игры, в которую люди обычно играют во дворе, чтобы расслабиться после рабочего дня.
Но так было лишь до того времени, пока Джон Бигбак не предоставил возможность играть в домино в своем казино
«BUMP» (Bring Us Money, Please).
Обычная игра в домино не совсем подходит для казино, поэтому Джон создал свою собственную игру. Партия
играется на прямоугольной доске размера m_n. В каждой ее клетке записано некоторое целое число.
У игрока есть k костей домино - прямоугольников 2×1. Он кладет их на доску так, чтобы не возникало наложений, и
его выигрыш вычисляется как сумма произведений чисел, накрытых каждой из костей домино.
Например, существует два способа положить две кости домино на доску размера 2×2. Для доски, приведенной ниже,
лучший способ положить домино показан слева - в этом случае сумма составляет 1×3 + 4×2 = 11. Если игрок выберет
способ, показанный справа, то сумма составит 1×4 + 3×2 = 10, что меньше чем 11.

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

Входные данные
Первая строка входного файла INPUT.TXT содержит целые числа m, n и k (1 ≤ m ≤ 16, 1 ≤ n ≤ 100, 1 ≤ k ≤ 200).
Следующие m строк содержат по n целых чисел каждая и описывают доску. Числа, записанные на доске, неотрицательны
и по величине не превосходят 1000. Гарантируется, что существует хотя бы один способ разместить все кости домино на
доске.

https://acmp.ru/index.asp?main=alltasks 333/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число - наибольшую сумму, которую может получить игрок.

Пример
№ INPUT.TXT OUTPUT.TXT
2 2 2 11
1 1 4
3 2

Задача №608
Про любовь
(Время: 1 сек. Память: 16 Мб Сложность: 70%)
Ваське нравится Машка. Она симпатичная, и он очень любит смотреть
на нее. Но ему нравится и Ленка! Она тоже довольно симпатичная. Васька
может смотреть на нее часами, когда она сидит на скамейке и читает книгу.
Почему бы не подойти и поговорить с ней? Есть небольшая проблема.
Васька - кот.
Но надо сказать, что это его не очень беспокоит. В общем, он даже
привык к этому. Ему просто нравится смотреть на девочек. К сожалению,
часто дома и другие препятствия не дают увидеть обеих девочек
одновременно. А даже когда это можно сделать, найти подходящую точку
довольно сложно. Васька просит вас, своего любимого хозяина, помочь
ему.
Даны положения препятствий и точки, в которых находятся девочки. Найдите точку, из которой видны обе девочки,
или установите, что такой точки нет. Конечно, Васька не может забираться внутрь препятствий.

Входные данные
Первая строка входного файла INPUT.TXT содержит два целых числа x1 и y1 - координаты Машки. Следующая строка
содержит x2 и y2 - координаты Ленки. Третья строка входного файла содержит n - количество препятствий (0 ≤ n ≤ 10).
Все препятствия являются прямоугольниками со сторонами, параллельными осям координат. Каждая из следующих n
строк содержит четыре целых числа xi,1, yi,1, xi,2 и yi,2 – координаты левого нижнего и правого верхнего углов
препятствий. Все координаты не превосходят 100 по абсолютному значению. Препятствия не пересекаются, но могут
касаться друг друга. Если два препятствия касаются друг друга углами или сторонами, между ними нет зазора. В
противном случае Васька может смотреть таким образом, что линия его взгляда касается угла или идет вдоль стороны
препятствия.
Ни одна из девочек не находится внутри или на границе какого-то из препятствий. Девочки находятся в разных точках.

Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите «YES» , если точка, из которой Васька может видеть обеих
девочек, существует. В этом случае вторая строка должна содержать два вещественных числа - координаты точки, из
которой должен смотреть Васька. Эта точка не должна быть внутри какого-либо препятствия, но может быть на его
границе. Васька не должен находиться в точке, которая одновременно принадлежит углам двух зданий, не имеющих общей
стороны. Координаты должны быть выведены с точностью не менее, чем 10-6. Если искомой точки нет, выведите «NO» в
единственную строку выходного файла.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 0 YES
-2 0 0.0 4.0
1
1
-1 -2 1 2
2 2 0 NO
https://acmp.ru/index.asp?main=alltasks 334/591
2/29/2020 Все задачи сайта
-2 0
3
-1 -1 1 1
-3 -3 -1 -1
-3 1 1 3

Задача №609
Разбиения множества
(Время: 2 сек. Память: 16 Мб Сложность: 69%)
Рассмотрим множество, состоящее из первых n натуральных чисел: Nn = {1, 2, …, n}. Разбиение - это представление
этого множества в виде объединения одного или нескольких непустых попарно непересекающихся множеств. Примерами
разбиений для n = 5 являются:
{1, 2, 3, 4, 5} = {1, 2, 3} U {4, 5}
{1, 2, 3, 4, 5} = {1, 3, 5} U {2, 4}
{1, 2, 3, 4, 5} = {1, 2, 3, 4, 5}
{1, 2, 3, 4, 5} = {1} U {2} U {3} U {4} U {5}

Всего существует 52 разбиения множества N5. Заметим, что разбиения, отличающиеся только порядком объединяемых
множеств, не различаются.
Разбиения множества Nn можно упорядочить лексикографически. Для того, чтобы определить этот порядок, вначале
определим лексикографический порядок на подмножествах Nn. Будем говорить, что подмножество A={a1, a2, ..., ak} (a1 <
a2 < ... < ak) множества Nn лексикографически меньше подмножества B={b1, b2, ..., bm} (b1 < b2 < ... < bm) множества Nn и
писать A < B, если верно одно из следующих утверждений:

найдётся i, такое что a1 = b1, a2 = b2, ..., ai - 1 = bi - 1 и ai < bi;


k < m и при этом a1 = b1, a2 = b2, ..., ak = bk.

Таким образом, для любых двух подмножеств A и B верно ровно одно из трёх утверждений: или A < B, или A
совпадает с B, или B < A, а также есть транзитивность: если A < B и B < C, то A < C. Теперь определим каноническое
представление разбиения как представление, в котором объединяемые множества упорядочены лексикографически.
Разбиения упорядочиваются лексикографически следующим образом. Разбиение Nn = A1 U A2 U … U Ak
лексикографически меньше разбиения Nn = B1 U B2 U … U Bm, если существует такое i, что A1 = B1, A2 = B2, . . . , Ai-1 =
Bi-1 и Ai < Bi.
По разбиению множества Nn найдите следующее в лексикографическом порядке разбиение.

Входные данные
Входной файл INPUT.TXT содержит несколько описаний тестов. Каждое описание является каноническим
представлением разбиения. Первая строка описания содержит n и k - количество элементов в разбиваемом множестве и
количество частей в разбиении (1 ≤ n ≤ 200). Последующие k строк содержат элементы разбиения. Элементы каждого
множества упорядочены по возрастанию. Описания тестов отделены друг от друга пустыми строками. Последняя строка
входного файла содержит два нуля. Этот тест не должен обрабатываться. Сумма n по всем описаниям не превосходит 2000.

Выходные данные
В выходной файл OUTPUT.TXT для каждого теста выведите следующее в лексикографическом порядке разбиение.
Если разбиение во входном файле является последним в лексикографическом порядке, выведите первое в
лексикографическом порядке. Используйте тот же формат, что и во входном файле. Отделяйте разбиения друг от друга
пустыми строками. Элементы каждого множества следует выводить в порядке возрастания.

Пример
№ INPUT.TXT OUTPUT.TXT
1 5 2 5 2
1 2 3 1 2 3 4
4 5 5

https://acmp.ru/index.asp?main=alltasks 335/591
2/29/2020 Все задачи сайта

5 2 5 4
1 3 5 1 4
2 4 2
3
5 1 5
1 2 3 4 5
5 2
5 5 1 2 3 5
1 4
2
3 5 4
4 1
5 2
3
0 0 4 5

Задача №610
Прокладка труб
(Время: 1 сек. Память: 16 Мб Сложность: 82%)
В некоторых районах города строится система центрального отопления. Каждый район города имеет форму
прямоугольника и состоит из квадратных кварталов. Система центрального отопления каждого из районов представляет
собой замкнутую трубу.
Чтобы сантехникам не приходилось скучать, мэр города хочет, чтобы в каждом районе трубы были уложены по-
разному. Труба в каждом районе должна быть уложена таким образом, чтобы она проходила через каждый квартал. При
этом существует шесть способов проложить трубу внутри квартала:

Для того, чтобы спланировать работы, мэр хочет узнать, сколькими способами можно проложить трубу в каждом
районе.
Например, существует ровно 6 различных способов проложить трубу в районе из 16 кварталов, имеющего форму
квадрата 4 на 4:

Входные данные
Входной файл INPUT.TXT содержит два целых числа r (r > 1) и c (c > 1) - размеры района города. Общее число
кварталов в районе не превосходит 100 (r×c ≤ 100).

Выходные данные
В выходной файл OUTPUT.TXT выведите число различных способов проложить трубу в данном районе.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 4 4 6

https://acmp.ru/index.asp?main=alltasks 336/591
2/29/2020 Все задачи сайта
2 5 7 0
3 2 8 1
4 12 8 102283239429

Задача №611
Словарные квадраты
(Время: 1 сек. Память: 16 Мб Сложность: 50%)
Некоторые наборы из n слов длины n обладают интересным свойством - их можно расположить в клетках квадрата
n×n так, что все слова набора можно прочитать как в вертикали, так и по горизонтали.
Примером такого набора слов является {"DATE", "FIND", "IDEA", "NEXT"}. Их можно расположить так:

Заметьте, что каждое слово можно прочитать как по горизонтали, так и по вертикали. Такие квадраты называются
словарными квадратами, наибольший известный словарный квадрат в английском языке имеет размер 10×10.
Рассмотрим еще один пример словарного квадрата:

Вам даны такие 2n слов, что из них можно построить два различных словарных квадрата размера n×n. Ваша задача
состоит в том, чтобы разбить эти слова на две группы, по n слов в каждой, и построить из слов каждой группы словарный
квадрат.
Гарантируется, что все данные вам слова являются английскими словами (некоторые из них могут быть достаточно
редкими словами, именами, или специальными терминами).

Входные данные
Первая строка входного файла INPUT.TXT содержит целое число n (2 ≤ n ≤ 10). Каждая из следующих 2n строк
содержит слово, состоящее из заглавных букв английского алфавита. Каждое слово содержит ровно n букв.

Выходные данные
В выходной файл OUTPUT.TXT выведите два словарных квадрата, построенных из данных слов. Разделите квадраты
пустой строкой.

Пример
№ INPUT.TXT OUTPUT.TXT
4 CRAB
ARTS RARE
BEST ARTS
CRAB BEST
1 DATE
FIND FIND
IDEA IDEA
NEXT NEXT
RARE DATE

Задача №612
Подстрока
(Время: 1 сек. Память: 32 Мб Сложность: 68%)
https://acmp.ru/index.asp?main=alltasks 337/591
2/29/2020 Все задачи сайта

Рассмотрим слова, состоящие из букв «A», «B», «a» и «b». Скажем, что два слова эквивалентны, если одно может быть
получено из другого с помощью следующих операций:

удалить в любой позиции подстроку, равную Aa, aA, Bb или bB;


добавить в любую позицию подстроку, равную Aa, aA, Bb или bB.

Например, слова abAaBBabbA и aAaBabaAbA эквивалентны:


abAaBBabbA → abBBabbA → aBabbA → aAaBabbA → aAaBabaAbA,
а слова abAB и baBA - нет.
Интересно отметить, что для произвольных слов X и Y найдется такое слово Z, эквивалентное X, которое содержит Y
в качестве подстроки. Ваша задача - найти кратчайшее такое слово.

Входные данные
Первая строка входного файла INPUT.TXT содержит X. Вторая строка содержит Y. Оба слова непустые и каждое из
них имеет длину не больше 2000.

Выходные данные
В выходной файл OUTPUT.TXT выведите одну строку, содержащую минимальное по длине слово, эквивалентное X,
содержащее Y в качестве подстроки. Если решений несколько, выведите любое.

Пример
№ INPUT.TXT OUTPUT.TXT
abAaBBabbA aAaBabaAbA
1
AaBaba

Задача №613
Поле чудес - 2
(Время: 1 сек. Память: 32 Мб Сложность: 76%)
Всем известно сверхпопулярное теле-шоу «Поле чудес».
В игре принимают участие n человек. Их цель - отгадать загаданное слово. Изначально известна только длина слова, а
буквы на специальном табло закрыты черными прямоугольниками. В свой ход игрок называет одну букву. Если эта буква
встречается в слове, то все ее вхождения открываются, и игрок делает еще один ход. Если в слове нет такой буквы, то ход
передается следующему игроку. От последнего игрока ход передается первому. Выигрывает тот игрок, который отгадывает
последнюю букву.
Пусть, например, загадано секретное слово «CONTEST». Изначально игроки видят только «-------». Если первый
игрок скажет 'E', то она открывается, и теперь табло выглядит как «----E--». Первый игрок делает еще один ход - пусть,
например, он называет 'A'. В слове нет такой буквы, поэтому ход передается следующему игроку. Если тот скажет 'T', то
игроки увидят «---TE-T», и так далее.
Пашин друг собирается поучаствовать в игре. Павлу интересно: каковы шансы на победу его друга. Паша оценил
интеллектуальный потенциал каждого из игроков qt. Вероятность того, что игрок t правильно отгадает букву в ситуации,
когда еще не были названы i букв, неизвестны еще j разных букв слова, и на табло осталось k закрытых букв, вычисляется
по следующей формуле:

Здесь мы будем считать, что 00 = 1.


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

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

https://acmp.ru/index.asp?main=alltasks 338/591
2/29/2020 Все задачи сайта

Первая строка входного файла INPUT.TXT содержит n и r (2 ≤ n ≤ 10, 1 ≤ r ≤ n). На второй строке записано загаданное
слово. Оно состоит из больших букв английского алфавита, и его длина не превосходит 12. Третья строка содержит n
вещественных чисел - значения интеллектуального потенциала игроков (0 ≤ qt ≤ 0.99).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число - вероятность победы друга Павла. Ответ должен быть дан с
точностью, не хуже, чем 10-8.

Пример
№ INPUT.TXT OUTPUT.TXT
3 1 0.4648222937
1 CONTEST
0.7 0.2 0.1

Задача №614
Скобки - 3
(Время: 1 сек. Память: 32 Мб Сложность: 61%)
Рассмотрим скобочные последовательности с одним типом скобок. Для заданной скобочной последовательности
найдите количество ее подпоследовательностей, которые являются правильными скобочными последовательностями.
Например, для последовательности "((())())(" таких последовательностей восемь: "((())())", "(())()", "((()))", "(()())", "
(())", "()()", "()" и "".

Входные данные
Входной файл INPUT.TXT содержит последовательность, состоящую не более чем из 300 круглых скобок.

Выходные данные
В выходной файл OUTPUT.TXT выведите количество различных правильных скобочных подпоследовательностей
заданной последовательности.

Пример
№ INPUT.TXT OUTPUT.TXT
1 ((())())( 8

Задача №615
Новый год
(Время: 1 сек. Память: 16 Мб Сложность: 71%)
Санта Клаус решил сделать новогодний подарок своим эльфам. Конечно же, Санта был бы не Санта, если бы его
подарок был обыкновенным. Подарок просто замечательный - эльфы идут в кино!
Конечно же, если все эльфы пойдут в кино одновременно, это может показаться кому-нибудь подозрительным. Ну, вы
понимаете, некоторые люди все еще не верят в эльфов. Так что каждый день ровно одна пара эльфов пойдет в кино.
Конечно, идти в кино самому по себе неинтересно, гораздо интереснее пойти с другом или подругой. Таким образом,
каждый день один мальчик-эльф и одна девочка-эльф вместе пойдут в кино.
Но эльфы, они такие разные. Каждый эльф четко знает, с какими эльфами и на какой фильм он или она хотели бы
пойти. Поскольку у каждой пары эльфов свои взаимоотношения, для каждой пары, которая согласна вместе пойти в
кинотеатр, известно какой именно фильм они хотели бы посмотреть.
Но на самом деле все еще хуже. Дело в том, что билеты в кино стоят денег. Конечно, Санта не беден, но ему нужно
много денег на подарки детям. Так что собрав у эльфов пожелания, кто куда и с кем хотел бы пойти в кино, Санта решил
удовлетворить некоторые пожелания таким образом, чтобы потратив как можно меньше денег, добиться того, что каждый
эльф хотя бы один раз побывает в кино.
Помогите Санте, он пока не до конца освоился с компьютером.

https://acmp.ru/index.asp?main=alltasks 339/591
2/29/2020 Все задачи сайта

Входные данные
Первая строка входного файла INPUT.TXT содержит два целых числа n и m - количество мальчиков-эльфов и девочек-
эльфов, соответственно (1 ≤ n, m ≤ 100). Вторая строка содержит r – количество пожеланий, которое Санта получил от
своих эльфов (1 ≤ r ≤ 1500). Следующие r строк содержат по три целых числа ai, bi и ci каждая. Числа означают, что
мальчик-эльф ai хотел бы пойти в кино с девочкой-эльфом bi, и билет на фильм, на который они хотели бы пойти, стоит ci
(1 ≤ ci ≤ 1000). Каждый эльф хочет пойти в кино хотя бы с одним другим эльфом.

Выходные данные
На первой строке выходного файла OUTPUT.TXT выведите минимальную сумму, которую Санте придется потратить,
чтобы сделать своим эльфам подарок. На второй строке выведите k - количество билетов, которое Санта должен купить.
Наконец, третья строка должна содержать k целых чисел – номера пожеланий, которые следует удовлетворить.

Пример
№ INPUT.TXT OUTPUT.TXT
3 3 11
7 4
1 1 3 2 3 4 6
1 2 2
1 1 3 4
2 1 3
2 2 9
3 1 2
3 3 11

Задача №616
Отношения
(Время: 1 сек. Память: 16 Мб Сложность: 54%)
Бинарным отношением R на множестве X называется множество упорядоченных пар элементов из X. Если X конечно
и содержит n элементов, то отношение можно задать как квадратную булеву матрицу размера n×n.
В некоторых случаях бывает важно задать отношение в более компактной форме. Один из способов компактного
задания отношений применяется, в частности, при описании грамматик операторного предшествования.
Рассмотрим две функции f и g, каждая из которых сопоставляет элементам X целые числа. Будем говорить, что эти
функции описывают отношение R, если для любых x и y из X пара (x, y) принадлежит R тогда и только тогда, когда f(x) ≤
g(y).
По заданному отношению R, найдите способ описать его указанным образом с помощью двух функций f и g, либо
выясните, что это невозможно сделать.

Входные данные
Первая строка входного файла INPUT.TXT содержит n - количество элементов в множестве X = {x1, x2, …, xn} (1 ≤ n ≤
1 000). Следующие n строк описывают отношение R. Каждая строка содержит n символов, j-й символ i-й из этих строк
равен 1, если (xi, xj) принадлежит R, и 0 в противном случае.

Выходные данные
На первой строке выходного файла OUTPUT.TXT выведите "YES", если отношение можно описать указанным
образом. В этом случае вторая строка должна содержать n целых чисел в диапазоне от -109 до 109 - значения функции f на
элементах x1, x2, … , xn, соответственно, а третья строка должна описывать функцию g аналогичным образом. Если
отношение нельзя закодировать описанным образом с помощью двух функций, выведите "NO" на первой строке
выходного файла.

Примеры
№ INPUT.TXT OUTPUT.TXT
https://acmp.ru/index.asp?main=alltasks 340/591
2/29/2020 Все задачи сайта
1 3 YES
111 0 1 2
110 2 1 0
100
3 NO
110
2
101
011

Задача №617
Ладьи
(Время: 2 сек. Память: 16 Мб Сложность: 80%)
Напомним, что ладья - это шахматная фигура, которая ходит по вертикалям и горизонталям.
Будем называть расстановку w белых и b черных ладей на доске размера m×n мирной, если ни одна ладья не угрожает
ладье другого цвета.
Для заданных m, n, w и b найдите количество мирных расстановок ладей на доске.

Входные данные
Входной файл INPUT.TXT содержит четыре целых числа: m, n, w и b (2 ≤ m, n ≤ 10, 1 ≤ w, 1 ≤ b, w+b ≤ m•n).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число - количество мирных расстановок w белых и b черных
ладей на доске размера m×n.

Пример
№ INPUT.TXT OUTPUT.TXT
1 3 3 2 2 18

Задача №618
Диаграммы Юнга
(Время: 1 сек. Память: 16 Мб Сложность: 74%)
Диаграммы Юнга используются для того, чтобы изобразить разбиение числа на слагаемые. Разбиение числа n на
слагаемые представляет собой сумму вида n = m1 + m2 + … + mk, где m1 ≥ m2 ≥ … ≥ mk.
Диаграмма состоит из n квадратиков, организованных в виде k рядов, где k количество слагаемых в разбиении. Ряд,
соответствующий числу mi, содержит mi квадратиков. Все ряды выровнены по левому краю и упорядочены от более
длинного к более короткому.
Например, диаграмма Юнга, приведенная на рисунке, соответствует разбиению 10 = 5 + 3 + 2.

Иногда можно вписать одну диаграмму Юнга в другую. Диаграмму X можно вписать в диаграмму Y , если можно
удалить некоторые квадратики из диаграммы Y так, чтобы получилась диаграмма X. Отметим, что разрешается только
удалять некоторые квадратики, вращать или отражать диаграмму не разрешается. Например, диаграмма для разбиения 5 =
3 + 2 может быть вписана в диаграмму для разбиения 10 = 5 + 3 + 2, как показано на рисунке.

https://acmp.ru/index.asp?main=alltasks 341/591
2/29/2020 Все задачи сайта

С другой стороны, диаграмму для разбиения 8 = 4+4 нельзя вписать в диаграмму для разбиения 10 = 5 + 3 + 2. Для
заданного n найдите такое разбиение n на слагаемые, что в соответствующую ему диаграмму Юнга можно вписать
максимальное количество различных диаграмм. Например, в диаграмму для разбиения 10 = 5 + 3 + 2 можно вписать 36
различных диаграмм. Однако это не максимальное значение. В диаграмму для разбиения 10 = 4 + 2 + 2 + 1 + 1 можно
вписать 41 диаграмму Юнга.

Входные данные
Входной файл INPUT.TXT содержит целое число n (1 ≤ n ≤ 100).

Выходные данные
На первой строке выходного файла OUTPUT.TXT выведите максимальное число диаграмм Юнга, которые можно
вписать в некоторую диаграмму, соответствующую разбиению на слагаемые числа n. На второй строке выведите одно или
более целых чисел - количество квадратиков в каждом из рядов оптимальной диаграммы.

Пример
№ INPUT.TXT OUTPUT.TXT
10 41
1
4 2 2 1 1

Задача №619
Бросание кубика
(Время: 1 сек. Память: 16 Мб Сложность: 42%)
Кубик, грани которого помечены цифрами от 1 до 6, бросают N раз. Требуется найти вероятность того, что сумма
выпавших чисел будет равна Q.

Входные данные
Входной файл INPUT.TXT содержит натуральные числа N и Q (N ≤ 500, Q ≤ 3000).

Выходные данные
В выходной файл OUTPUT.TXT выведите единственное вещественное число – искомую вероятность, которая должна
отличаться от истинного значения не более чем на 10-6.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 6 0.166667
2 1 7 0
3 4 14 0.112654
4 100 100 1.530647E-78

Задача №620
Бассейн реки
(Время: 1 сек. Память: 16 Мб Сложность: 67%)
Дана карта рек некоторого континента. Каждая река показана как ломаная линия, которая начинается у истока реки и
заканчивается или в точке, где река впадает в другую, или устьем реки. Вершины ломаной – или точки поворота реки, или
точки впадения притоков.
Будем рассматривать бассейн реки как выпуклый многоугольник минимальной площади, который содержит реку и все
её притоки. Одна и та же территория может принадлежать бассейнам различных рек.
В качестве примера приведем континент с тремя реками. Координаты рек и площади бассейнов даны в таблице:
Название реки x y Площадь бассейна реки без притоков Рисунок
река 1 6 9 12,5
https://acmp.ru/index.asp?main=alltasks 342/591
2/29/2020 Все задачи сайта

5 11
3 12
2 10
1 7

7 9
река 2 5 7 1,5
5 5,5

3 10
5 8
4 6
река 3 9,5
5 5,5
6 5
3 5
Требуется найти максимальную площадь бассейна реки, расположенной на данном континенте.

Входные данные
Первая строка входного файла INPUT.TXT содержит число рек N. В следующих строках файла содержится N блоков,
описывающих реки. Каждый блок номер i состоит:

из одной строки с ki – числом вершин ломаной, представляющей реку;


ki строк, содержащих пары вещественных чисел xj и yj (1 ≤ j ≤ ki), разделённых пробелом, – координаты точек,
описывающих реку.

Ограничения: 1 ≤ N ≤ 10, сумма ki ≤ 1000, -1000 ≤ xj, yj ≤ 1000.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – площадь наибольшего бассейна реки с двумя знаками после
запятой.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 16.00
5
6 9
5 11
3 12
2 10
1 7
3
7 9
1
5 7
5 5.5
6
3 10
5 8
4 6
5 5.5
6 5
3 5
2 2 12.50
5
6 9

https://acmp.ru/index.asp?main=alltasks 343/591
2/29/2020 Все задачи сайта
5 11
3 12
2 10
1 7
6
3 10
5 8
4 6
5 5.5
6 5
3 5

Задача №621
Ближайшее число
(Время: 0,5 сек. Память: 16 Мб Сложность: 52%)
Дана матрица A размером N×N, заполненная неотрицательными целыми числами. Расстояние между двумя
элементами Ai j и Ap q определено как |i - p| + |j - q|. Требуется заменить каждый нулевой элемент матрицы ближайшим
ненулевым. Если есть две или больше ближайших ненулевых ячейки, нуль должен быть оставлен.

Входные данные
В первой строке входного файла INPUT.TXT содержится натуральное число N (N ≤ 200). Затем идут N строк по N
чисел, разделённых пробелами и представляющих собой матрицу. Элементы матрицы не превосходят значения 106.

Выходные данные
В выходной файл OUTPUT.TXT выведите N строк по N чисел, разделённых пробелами, - модифицированную
матрицу.

Пример
№ INPUT.TXT OUTPUT.TXT
3 1 0 2
0 0 0 1 0 2
1
1 0 2 0 3 0
0 3 0

Задача №622
Прямоугольное деление
(Время: 1 сек. Память: 16 Мб Сложность: 66%)
Дано N прямоугольников со сторонами, параллельными осям координат. Требуется определить, на сколько частей эти
прямоугольники разбивают плоскость (внутри частей не должно быть границ прямоугольников).

Входные данные
В первой строке входного файла INPUT.TXT содержится число прямоугольников N (1 ≤ N ≤ 100). Далее идут N строк,
содержащих по 4 числа x1, y1, x2, y2 - координаты двух противоположных углов прямоугольника. Координаты
представляют собой целые числа и по абсолютной величине не превосходят 10 000.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число - количество частей, на которые разбивается плоскость.

Пример
№ INPUT.TXT OUTPUT.TXT
1 3 6
10 20 50 30

https://acmp.ru/index.asp?main=alltasks 344/591
2/29/2020 Все задачи сайта
40 10 50 25
40 25 80 30

Задача №623
Снова Фибоначчи
(Время: 2 сек. Память: 16 Мб Сложность: 23%)
Вам наверняка знакомы числа Фибоначчи: 1, 1, 2, 3, 5, 8, 13, 21... Они определяются рекуррентным соотношением: Fn
= Fn-1 + Fn-2, F0 = F1 = 1.
Требуется найти последнюю цифру n-го числа Фибоначчи.

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

Во входном файле INPUT.TXT содержится одно целое число n (0 ≤ n ≤ 108).

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести одно число - последнюю цифру числа Fn.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1
2 5 8

Задача №624
Электронная почта
(Время: 2 сек. Память: 32 Мб Сложность: 62%)
Современный мир немыслим без Интернета и электронной почты. Для того, чтобы людям было проще
ориентироваться в потоке поступающих писем, были созданы специальные программы - почтовые клиенты. Фирма
TIRLABS занимается разработкой почтового клиента The Bar!.
Недавно программисты компании завершили разработку очередной, 366239-ой, версии этого почтового клиента.
Менеджеры по продажам и рекламе уже готовы вовсю рекламировать и продавать эту новую программу. Однако,
генеральный директор компании TIRLABS считает, что любая программа должна быть подвергнута всестороннему
тестированию, прежде чем она будет продаваться. «Да и не работающую программу, скорее всего, никто не купит!» -
сказал он.
Одним из видов тестирования сложных программ является так называемое стресс-тестирование. При нем программа
тестируется в экстремальных условиях, часто даже в таких, на какие она не рассчитана. Для тестирования The Bar! ver.
366239 был выбран такой метод: программа запускается на n компьютерах, стоящих в одной комнате, после чего с
компьютеров друг на друга посылается m писем. При этом никакие два события (отправление или прием письма) не
происходят одновременно, а сеть настолько надежна, что все письма доходят до адресата. Адресат у каждого письма при
этом только один.
Почтовый клиент The Bar! в процессе работы ведет протокол, в который заносятся идентификаторы отправленных и
полученных писем в том порядке, в котором они были обработаны почтовым клиентом. При этом при оценке результатов
тестирования в расчет принимаются только события, отраженные в этом протоколе.
Программа считается правильно работающей по результатам тестирования, если всем событиям, указанным в
протоколах, можно сопоставить моменты времени таким образом, что никакие два события не происходят одновременно, и
каждое из писем отправляется до того, как получается. При этом, разумеется, внутри каждого из протоколов порядок
событий должен остаться прежним.
Даны протоколы работы почтового клиента на каждом из компьютеров. Напишите программу, проверяющую, можно
ли по результатам этого тестирования признать программу правильно работающей.

Входные данные
Входной файл INPUT.TXT содержит несколько наборов входных данных. Первая строка содержит t - число наборов
входных данных. Оставшиеся строки входного файла содержат эти наборы.
https://acmp.ru/index.asp?main=alltasks 345/591
2/29/2020 Все задачи сайта

Описание каждого набора начинается со строки, содержащей два целых числа n (1 ≤ n ≤ 50000) и m (1 ≤ m ≤ 100000) -
количество компьютеров и отправленных писем соответственно. Далее следуют n строк, i-ая из которых содержит
протокол работы почтового клиента на i-ом компьютере. Протокол работы состоит из целого числа ki(0 ≤ ki ≤ 2m) и ki
чисел ai,j , описывающих события. Если ai,j > 0, то j-ым по счету событием на i-ом компьютере была посылка письма с
идентификатором ai,j , если же ai,j < 0, то j-ым по счету событием на i-ом компьютере было получение письма с
идентификатором -ai,j. Нулю ai,j равно быть не может.

Идентификатор письма - это целое число от 1 до 106. Внутри одного набора входных данных все письма имеют
различные идентификаторы. Гарантируется, что все письма, которые были отправлены, были кем-то приняты, то есть
сумма всех ki в одном наборе входных данных равна 2m.
Сумма чисел n по всем наборам входных данных не превосходит 50000, сумма чисел m по всем наборам входных
данных не превосходит 100000.

Выходные данные
В выходной файл OUTPUT.TXT для каждого набора входных данных выведите ровно одну строку. Эта строка должна
содержать слово YES, если программу можно считать правильно работающей по результатам тестирования, и NO - в
противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 YES
2 2 NO
2 1 -2
1 2 2 -1
2 2
2 -2 1
2 -1 2
1 YES
2 3
2
2 1 -1
4 239 -239 366 -366

Задача №625
SMS - 2
(Время: 1 сек. Память: 16 Мб Сложность: 50%)
В наше время непросто найти человека, который ни разу в жизни не использовал мобильный телефон для отправления
текстовых сообщений. Старые телефоны поддерживали только один способ набора текста, упрощенно описывающийся
следующими правилами: Каждой из восьми кнопок от «2» до «9» ставится в соответствие несколько букв, а кнопка «1»
отводится для знаков препинания. Пробел ставится нажатием кнопки «0». Для ввода первого из соответствующих кнопке
символов, ее надо нажать один раз, для ввода второго - два раза и так далее. Если два подряд идущие символа (кроме
пробела) сопоставлены одной кнопке, то после ввода первого из них можно, либо подождать, либо нажать на кнопку
перемещения курсора (второй вариант оказывается быстрее). Для переключения регистра букв используется кнопка «#».
Кроме того, для удобства, после ввода вопросительного и восклицательного знаков, а так же точки (если на этот момент
включен нижний регистр), активируется режим «первой заглавной буквы». При этом следующая буква автоматически
печатается заглавной, после чего опять включается нижний регистр. В начале набора включен режим «первой заглавной
буквы».
В последнее время в Интернете стали появляться результаты различных исследований, доказывающих
неэффективность обычной раскладки телефонной клавиатуры, в которой буквы сопоставляются цифрам в алфавитном
порядке. Составьте программу, которая по заданному сопоставлению букв кнопкам, будет находить минимальное
количество нажатий, необходимых для максимально быстрого ввода данного текста при условии, что на каждое нажатие
уходит одинаковое количество времени.

Входные данные
Строки с первой по девятую входного файла INPUT.TXT задают символы, сопоставленные соответствующим
кнопкам. Следующая строка содержит сообщение длиной от 1 до 1000 символов. Гарантируется, что в первой строке
находятся символы «?», «!» и «.», заданные в определенном порядке; в последующих 8 строках расположены все строчные
https://acmp.ru/index.asp?main=alltasks 346/591
2/29/2020 Все задачи сайта

английские символы от «a» до «z» без повторов, не менее одной буквы в строке. Текст сообщения содержит только те
символы, которые возможно напечатать.

Выходные данные
В выходной файл OUTPUT.TXT выведите единственное число - минимальное количество нажатий на кнопки,
требующееся для наискорейшего ввода сообщения.

Пример
№ INPUT.TXT OUTPUT.TXT
.?! 120
abc
def
ghi
jkl
1
mno
pqrs
tuv
wxyz
Hello. How do you do? i hope everything is fine See ya!

Задача №626
Преобразователь строк
(Время: 1 сек. Память: 16 Мб Сложность: 52%)
Преобразователь строк - это специальная компьютерная программа. Она получает на вход строку S и набор правил
преобразования строки. Каждое из правил имеет вид c1c2 → E, где c1 и c2 - маленькие буквы английского алфавита.
Символом E здесь обозначена пустая строка. При этом каждый символ присутствует не более, чем в одном правиле.
Преобразователь строк работает по шагам. За один шаг он находит в текущей строке подстроку, совпадающую с
правой частью одного из правил, после чего эта подстрока удаляется из текущей строки (этот процесс называется
применением правила). Этот процесс продолжается до тех пор, пока существует правило, которое можно применить.
Строка, которая остается к моменту, когда нельзя применить никакое правило, считается результатом T работы
преобразователя строк.
Пусть, например, набор правил таков: {ab → E, cd → E}, а исходная строка S = aabbccdba. Тогда работа
преобразователя будет выглядеть так: aabbccdba → abccdba → ccdba → cba, и результатом T работы преобразователя будет
строка cba.
Ваша задача состоит в том, чтобы написать программу, моделирующую работу преобразователя строк с заданным
набором правил на заданной строке S.

Входные данные
Первая строка входного файла INPUT.TXT содержит целое число n (0 ≤ n ≤ 13) - количество правил. Далее идут n
строк, каждая из которых описывает одно из правил. Гарантируется, что каждая из маленьких букв английского алфавита
присутствует не более, чем в одном правиле.
Последняя, (n+2)-ая строка входного файла содержит исходную строку S. Она не пуста и состоит только из маленьких
букв английского алфавита. Длина S не превосходит 100000.

Выходные данные
В выходной файл OUTPUT.TXT выведите строку T - результат работы преобразователя на строке S.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 cba
ab
1
cd
aabbccdba
https://acmp.ru/index.asp?main=alltasks 347/591
2/29/2020 Все задачи сайта
2 0 abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz

Задача №627
Игра в слова
(Время: 1 сек. Память: 16 Мб Сложность: 48%)
Существует множество игр, которые называются «игра в слова». В одной из вариаций правила следующие:
выбирается длинное слово, после чего два игрока пытаются вспомнить все слова, которые можно составить, используя
некоторые буквы загаданного слова. После этого они по очереди называют придуманные слова (называть одно слово два
раза запрещается). Если первый игрок назвал больше слов, то он побеждает, если у обоих игроков слова закончились
одновременно, засчитывается ничья, в оставшемся случае побеждает второй.
Оказывается, в этой игре важно не только знать много слов, но и придерживаться правильной стратегии. Напишите
программу, которая будет узнавать, кто победит, если оба игрока будут играть идеально, если первый игрок будет играть
оптимально, а второй - наихудшим образом, и если первый игрок будет поддаваться. При этом можно считать, что,
придумав слова, игроки записывают их на бумагу, и каждый видит записи предыдущего. Если на ходу того игрока, который
поддается, у него остаются не упоминавшиеся ранее слова, он обязан назвать одно из них.

Входные данные
В первой строке входного файла INPUT.TXT записано загаданное слово. Затем описываются слова, которые знает
первый игрок - на отдельной строке целое число n1 (0 ≤ n1 ≤ 10000), за которым следуют n1 слов по одному на строке.
После этого задается число n2 слов (0 ≤ n2 ≤ 10000), известных второму игроку, и описываются сами эти слова в таком же
формате. Все слова состоят из маленьких букв английского алфавита, а их длины не превосходят 100 символов. В списках
слов, известных игрокам, могут содержаться слова, которые нельзя составить из букв загаданного слова.

Выходные данные
В выходной файл OUTPUT.TXT выведите три числа по одному на строке - ответы для случаев, когда оба игрока
играют оптимально и когда поддаются первый и второй игроки соответственно: номер выигрывающего игрока и 0 в случае
ничьи.

Примеры
№ INPUT.TXT OUTPUT.TXT
internationalization 0
6 2
zone 1
oil
rent
impression
noir
trail
1
7
teal
creativity
rent
rain
oil
zealot
zone

Задача №628
Clear World and Brothers
(Время: 3 сек. Память: 16 Мб Сложность: 46%)
Наконец в деревнях Виллорибо и Виллобаджо закончились праздники. Перемыта вся посуда! Этот процесс прошел
так быстро и непринужденно, что братьями Карлионе было решено открыть сеть агентств «Clear World and Brothers»,
специализирующихся на профессиональном мытье посуды. В области Новая Берляндия, где и находятся знаменитые
деревни, всего N деревень. Система координат введена так, что Виллорибо имеет координаты (x1, 0), а Виллобаджо - (x2,

https://acmp.ru/index.asp?main=alltasks 348/591
2/29/2020 Все задачи сайта

0). Координаты всех деревень целые числа не превосходящие по модулю 106. Вы работаете на мистера Берлионе старшего
и ваша задача найти оптимальное расположение для регионального отделения «Clear World and Brothers», то есть сумма
расстояний от агентства до всех деревень должна быть наименьшей и агентство обязательно должно располагаться на
прямолинейном шоссе Виллорибо-Виллобаджо (возможно расположение не только внутри, но и на границе отрезка).

Входные данные
В первой строке входного файла INPUT.TXT записано натуральное число N (2 ≤ N ≤ 15000). Далее в N строках
записаны пары координат всех вершин. Виллорибо и Виллобаджо первая и вторая деревня соответственно. Возможно, что
сколько-то деревень расположены так близко, что их координаты совпадают.

Выходные данные
В выходной файл OUTPUT.TXT выведите абсциссу оптимального расположения агентства. Разрешается абсолютная
погрешность не более единицы.

Пример
№ INPUT.TXT OUTPUT.TXT
4 2.000000
-10 0
1 10 0
3 1
1 -1

Задача №629
Сочетания
(Время: 1 сек. Память: 16 Мб Сложность: 55%)
Петя выписал все сочетания из N первых английских букв по K букв. В каждом сочетании он выписывал буквы в
лексикографическом порядке. Сочетания он выписывал в лексикографическом порядке по одному в строке. Теперь он
хочет узнать: какое слово записано в M-ой строке.

Входные данные
Во входном файле INPUT.TXT записаны целые числа N, K, M (1 ≤ N ≤ 26, 1 ≤ K ≤ N). Гарантируется, что M не
превосходит количества всех выписанных сочетаний.

Выходные данные
В выходной файл OUTPUT.TXT выведите M-ое выписанное сочетание.

Пример
№ INPUT.TXT OUTPUT.TXT
1 4 2 3 ad

Пояснение
Все сочетания в порядке их записи: ab, ac, ad, bc, bd, cd. Здесь 3м по счету сочетанием является ad.

Задача №630
Охрана
(Время: 1 сек. Память: 16 Мб Сложность: 42%)
На секретной военной базе работает N охранников. Сутки поделены на 10000 равных промежутков времени, и
известно когда каждый из охранников приходит на дежурство и уходит с него. Например, если охранник приходит в 5, а
уходит в 8, то значит, что он был в 6, 7 и 8-ой промежуток. В связи с уменьшением финансирования часть охранников
решено было сократить. Укажите: верно ли то, что для данного набора охранников, объект охраняется в любой момент

https://acmp.ru/index.asp?main=alltasks 349/591
2/29/2020 Все задачи сайта

времени хотя бы одним охранником и удаление любого из них приводит к появлению промежутка времени, когда объект не
охраняется.

Входные данные
В первой строке входного файла INPUT.TXT записано натуральное число K (1 ≤ K ≤ 30) – количество тестов в файле.
Каждый тест начинается с числа N (1 ≤ N ≤ 10000), за которым следует N пар неотрицательных целых чисел A и B - время
прихода на дежурство и ухода (0 ≤ A < B ≤ 10000) соответствующего охранника. Все числа во входном файле разделены
пробелами и/или переводами строки.

Выходные данные
В выходной файл OUTPUT.TXT выведите K строк, где в M-ой строке находится слово Accepted, если M-ый набор
охранников удовлетворяет описанным выше условиям. В противном случае выведите Wrong Answer.

Пример
№ INPUT.TXT OUTPUT.TXT
2 Wrong Answer
1 3 0 3000 2500 7000 2700 10000 Accepted
2 0 3000 2700 10000

Задача №631
Отгадай число
(Время: 1 сек. Память: 16 Мб Сложность: 60%)
Двое играют в игру. Первый игрок (ведущий) загадал число от 1 до N. Второй хочет отгадать это число. Для
достижения цели он задает вопросы. Каждый вопрос имеет вид: «Содержится ли загаданное число в наборе S?», где S -
произвольный набор чисел от 1 до N. В случае положительного ответа второй игрок платит две конфеты ведущему, в
противном случае - одну.
Какое наименьшее количество конфет должен иметь второй игрок, чтобы наверняка суметь отгадать число?

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

Входной файл INPUT.TXT содержит целое число N (1 ≤ N ≤ 105).

Выходные данные
В выходной файл OUTPUT.TXT выведите искомое количество конфет.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 6 5
2 2 2

Задача №632
Отрезки
(Время: 1 сек. Память: 16 Мб Сложность: 68%)
Дан прямоугольник на координатной плоскости с левым нижним углом в точке (0, 0), а правым верхним - в точке (W,
H) и отрезки, параллельные осям координат. Отрезки задаются координатами своих концов. Эти отрезки разрезают
прямоугольник на несколько частей (возможно, одну). Требуется определить их площади. Отрезки могут пересекаться,
накладываться и вырождаться в точку. Все координаты - целые числа по модулю не превосходящие 10000.

Входные данные
В первой строке входного файла INPUT.TXT указываются числа W и H (1 ≤ W, H ≤ 10000). Во второй строке N (0 ≤ N
≤ 50) - количество отрезков. Далее в N строках через пробел указываются числа Ai, Bi, Ci, Di - координаты концов i-го

https://acmp.ru/index.asp?main=alltasks 350/591
2/29/2020 Все задачи сайта

отрезка: (Ai, Bi) и (Ci, Di).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать последовательность положительных чисел – площади областей,
записанные в порядке не возрастания.

Пример
№ INPUT.TXT OUTPUT.TXT
3 3 5
3 2
1 1 3 1 1 1
1 2 4 2 1
2 0 2 8

Задача №633
ACM World Finals
(Время: 1 сек. Память: 16 Мб Сложность: 20%)
Некоторые из вас, наверно, знают, что ежегодно проводится чемпионат мира по программированию среди студентов
(http://acm.baylor.edu). В финал этого соревнования проходят около 80 команд со всего мира.
Каждая команда состоит из трех человек и имеет название. Напишите программу, которая по краткому названию
команды и фамилиям ее участников, строит полное название команды.
Полное название команды состоит из краткого названия команды и списка фамилий ее участников. Фамилии
участников в списке должны быть упорядочены по алфавиту и отделены друг от друга запятыми. Название команды от
фамилий участников должно быть отделено двоеточием. После каждого знака препинания должен стоять ровно один
пробел.

Входные данные
Входной файл INPUT.TXT содержит ровно 4 строки. Первая из строк содержит название команды. Каждая из
следующих трех строк содержит фамилию одного из членов команды. Длины строк от 1 до 50 символов.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать ровно одну строку, содержащую полное название команды.

Примеры
№ INPUT.TXT OUTPUT.TXT
Dream Team Dream Team: Cormen, Dijkstra, Knuth
Knuth
1
Dijkstra
Cormen
Ivanovs Team Ivanovs Team: Ivanov, Ivanov, Ivanov
Ivanov
2
Ivanov
Ivanov
Team Team: a, aa, aaa
a
3
aa
aaa
Team Team: A, B, a
a
4
A
B

https://acmp.ru/index.asp?main=alltasks 351/591
2/29/2020 Все задачи сайта

Задача №634
Кубок CBOSS
(Время: 1 сек. Память: 16 Мб Сложность: 52%)
В 2239 году команде-победителю Открытого кубка CBOSS достался весьма нетрадиционный приз - поездка по k
самым красивым городам России. Так как в России красивых городов достаточно много, то победителям было предложено
выбрать k городов из списка, содержащего n городов.
Для удобства занумеруем эти города целыми числами от 1 до n. Для каждого города известно ti - время, требующееся
на осмотр его достопримечательностей. Также для каждой пары (i, j), 1 ≤ i, j ≤ n известно ai,j - время, которое требуется на
проезд из i-ого города в j-ый. При этом может оказаться, что ai,j ≠ aj,i, но ai,i всегда равно нулю.
У студентов, входящих в команду-победитель, не так много времени на посещение красивых городов, ведь скоро у них
сессия. Поэтому они хотят выбрать k городов и посетить их в таком порядке, чтобы затраты времени были минимальны.
Разумеется, посещать один город несколько раз им неинтересно. Также они не хотят приезжать в город, не осматривая при
этом его достопримечательности.
Напишите программу, находящую нужные k городов и порядок, в котором их нужно посетить.

Входные данные
Первая строка входного файла INPUT.TXT содержит целые числа n и k (1 ≤ n ≤ 7, 1 ≤ k ≤ n). Каждая из последующих n
строк входного файла содержит по n целых чисел каждая: j-ое число (i + 1)-ой строки входного файла - это время,
требуемое на проезд из i-ого города в j-ый (ai,j). Последняя строка входного файла содержит n целых чисел t1, …, tn.
Все числа во входном файле не превосходят 100. Все времена неотрицательны.

Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите минимальное время, которое потребуется для посещения k
городов с учетом осмотра достопримечательностей. Во второй строке выходного файла выведите номера городов в
порядке посещения, гарантирующем такое время.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 3 10
0 3 2 1 3 1 4
8 0 6 5
1
1 2 0 4
5 6 7 0
1 2 3 4
4 4 18
0 3 2 1 3 1 4 2
8 0 6 5
2
1 2 0 4
5 6 7 0
1 2 3 4

Задача №635
Интернет-олимпиады
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Многим известно о проекте «Интернет-олимпиады по информатике», расположенном в сети Интернет по адресу
http://neerc.ifmo.ru/school/io/, где проводятся онлайн-олимпиады для школьников в двух номинациях: базовой и
усложненной. Ваша задача состоит в том, чтобы написать программу, обрабатывающую результаты Интернет-олимпиады,
то есть определяющую: какие команды в какой номинации будут участвовать в следующей олимпиаде.
Правила перехода команд из одной номинации в другую таковы. Задачи усложненной номинации решают следующие
команды:

участвовавшие в предыдущей олимпиаде в усложненной номинации и решившие хотя бы одну задачу;

https://acmp.ru/index.asp?main=alltasks 352/591
2/29/2020 Все задачи сайта

участвовавшие в предыдущей олимпиаде в базовой номинации, решившие хотя бы одну задачу, и при этом
решившие либо столько же задач, сколько команда-победитель, либо строго больше задач, чем команда, занявшая
медианное место среди команд, решивших хотя бы одну задачу (место с номером k/2, где k - число команд,
участвовавших в базовой номинации, решивших хотя бы одну задачу, округление производится вниз).

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

Входные данные
Первая строка входного файла INPUT.TXT содержит два целых числа: n и m - соответственно, количество команд,
участвовавших в базовой и усложненной номинациях (1 ≤ n, m ≤ 1000).
После этого идут n строк, описывающих результаты команд, участвовавших в базовой номинации. Каждая из этих
строк содержит три целых числа, разделенных пробелами, - id, s, t - соответственно, уникальный идентификатор команды,
количество решенных задач и штрафное время. Количество решенных задач - целое число от 0 до 12, а штрафное время -
целое число от 0 до 20000. Идентификатор команды - это целое число от 1 до 2000.
После этого идут m строк, описывающих результаты усложненной номинации в таком же формате.

Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите число k команд, которые допускаются до участия в
усложненной номинации в следующей олимпиаде. Вторая строка должна содержать k целых чисел - идентификаторы этих
команд в возрастающем порядке.

Пример
№ INPUT.TXT OUTPUT.TXT
6 3 4
1 1 45 3 4 1999 2000
2 4 678
3 5 1000
4 5 894
1
5 2 343
6 3 555
1998 0 0
1999 1 34
2000 3 366

Задача №636
Java Challenge
(Время: 2 сек. Память: 16 Мб Сложность: 56%)
Все участники олимпиад знают, что во время соревнования на счету каждая секунда. Иногда даже время, которое в
суете затрачивается на переключение между окнами может оказаться критичным. В таких соревнованиях, как Java
Challenge, количество окон может быть довольно большим (Java Challenge - это соревнование, проходящее в рамках
финала чемпионата мира по программированию среди студентов. Оно состоит в разработке искусственного интеллекта для
управления виртуальным роботом).
В данной задаче мы будем считать, что этот процесс выполняется следующим способом. В системе хранится
циклический список открытых окон. При нажатии определенной комбинации клавиш k раз можно перейти в этом списке
на k позиций в одну или в другую сторону. Кроме того, окна, относящиеся к каждому приложению так же организованы в
циклический список. По этому списку также можно перемещаться в обе стороны, для перемещения на k позиций так же
требуется k нажатий клавиш. При этом после своей активизации окно перемещаются в позицию перед первым элементом
общего списка окон. Напишите программу, которая для каждого из окон будет определять минимальное количество
нажатий клавиш, которое нужно затратить для его активизации. До начала выполнения операции активным является
первое окно.

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

https://acmp.ru/index.asp?main=alltasks 353/591
2/29/2020 Все задачи сайта

Первая строка входного файла INPUT.TXT содержит целое число n (1 ≤ n ≤ 50000) - количество открытых окон.
Следующие n строк описывают окна в том порядке, в котором они идут в списке. Для каждого из окон задается номер
приложения, которому соответствует это окно, и его номер в циклическом списке окон этого приложения.

Выходные данные
На единственной строке выходного файла OUTPUT.TXT для каждого окна выведите минимальное количество
нажатий клавиш, которое надо затратить для его активации.

Пример
№ INPUT.TXT OUTPUT.TXT
9 0 1 2 2 2 1 3 2 1
3 2
2 2
2 3
1 3
1
2 1
3 1
4 1
1 2
1 1

Задача №637
NEERC
(Время: 1 сек. Память: 16 Мб Сложность: 17%)
В полуфинале студенческого чемпионата мира по программированию NEERC (http://neerc.ifmo.ru) участвуют команды
из n институтов. Участники для проведения соревнований распределяются по k залам, каждый из которых имеет размеры,
достаточные для размещения всех команд от всех институтов. При этом по правилам соревнований в одном зале может
находиться не более одной команды от института.
Многие институты уже подали заявки на участие в полуфинале. Оргкомитет полуфинала хочет допустить до участия
максимально возможное количество команд. При этом, разумеется, должна существовать возможность рассадить их по
залам без нарушения правил.
Напишите программу, определяющую максимальное количество команд, которые можно допустить до участия в
полуфинале.

Входные данные
Первая строка входного файла INPUT.TXT содержит число n - число институтов, подавших заявки. Вторая строка
входного файла содержит n чисел a1, …, an (ai - это количество команд, заявленных от института номер i). Последняя
строка входного файла содержит число k - количество залов, в которых проходят соревнования.
Все числа во входном файле целые, положительные и не превосходят 10000.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число - ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 6
1 1 2 4
3
3 7
2 1 2 4
4

https://acmp.ru/index.asp?main=alltasks 354/591
2/29/2020 Все задачи сайта

Задача №638
Всероссийская олимпиада по информатике
(Время: 1 сек. Память: 16 Мб Сложность: 37%)
2127 год. Прошло уже много лет с тех пор, как состоялась первая Всероссийская олимпиада по информатике. Как и
многие другие соревнования, наши олимпиады теперь проводятся в несколько дней. Теперь даже задача выбора
подходящего времени для олимпиады представляет определенные трудности. Ведь на разных планетах, входящих в состав
Российской Федерации используются разные способы отсчета времени: длина месяца, количество дней в неделе и те дни,
по которым невозможно проведение олимпиады, могут различаться. Возникла необходимость написания программы,
которая поможет решить эту задачу. И тогда в жюри вспомнят, что уже сейчас мы предвидели такую ситуацию и
предложили вам решить подобную задачу.
В качестве первого шага найдите количество способов выбрать время проведения олимпиады.

Входные данные
В первой строке входного файла INPUT.TXT содержатся два целых числа n и k (1 ≤ k ≤ n ≤ 100000) - количество дней
месяца и продолжительность олимпиады соответственно. Во второй строке задаются количество дней в неделе w,
количество дней, запрещенных еженедельно, dw и день недели, на который приходится первый день месяца s (1 ≤ s ≤ w ≤
n, 0 ≤ dw ≤ w). Третья строка содержит dw номеров дней недели (например, выходных), в которые нельзя проводить
олимпиаду. В четвертой строке записано количество дней месяца dm, не подходящих для проведения олимпиады по
причинам отличным от еженедельного распорядка (например, такими днями являются государственные праздники).
Последняя строка содержит dm целых чисел - номера этих дней. Дни месяца так же нумеруются начиная с 1. Заметим, что
некоторые дни могут быть запрещенными сразу по обеим причинам.

Выходные данные
В выходной файл OUTPUT.TXT выведите единственное целое число - количество способов выбрать k подряд идущих
дней, в которые возможно проведение олимпиады.

Пример
№ INPUT.TXT OUTPUT.TXT
31 3 15
7 1 7
1 7
2
1 9

Задача №639
TopCoder
(Время: 1 сек. Память: 16 Мб Сложность: 25%)
Некоторые из вас, наверное, слышали о сайте http://www.topcoder.com, на котором часто проводятся различные
соревнования по программированию.
В некоторых из них участникам предлагаются три задачи, каждая из которых оценивается в некоторое количество
баллов. В зависимости от того, насколько долго участник решал задачу, количество полученных им за нее баллов
уменьшается. Как и в большинстве других соревнований, выигрывает участник, набравший наибольшее число баллов.
Участники, набравшие одинаковое число баллов, считаются выступившими одинаково и их порядок в таблице итоговых
результатов не важен. Из-за некоторых особенностей этих соревнований для предотвращения жульничества участники
разделены в группы по 20 человек, называемые комнатами.
Ваша задача заключается в том, чтобы написать программу, которая по итоговым результатам в каждой комнате
выводила бы суммарные итоговые результаты.

Входные данные
Первая строка входного файла INPUT.TXT содержит целое число n (1 ≤ n ≤ 100) - число комнат. Далее следуют n
описаний итоговых результатов в комнатах.

https://acmp.ru/index.asp?main=alltasks 355/591
2/29/2020 Все задачи сайта

Результаты в i-ой комнате заданы в следующем формате. Первая строка содержит целое число ni (1 ≤ ni ≤ 20)-
количество участников в i-ой комнате. Следующие ni строк содержат информацию о выступлениях участников. j+1-ая
строка описания результатов в i-ой комнате содержит информацию об участнике, занявшем в i-ой комнате j-ое место:
разделенные одним пробелом вещественное число totalij (-5000 ≤ totalij ≤ 10000) и строку nameij - соответственно
количество набранных участником баллов и его имя. Имя участника имеет длину от 1 до 25 и может содержать только
буквы английского алфавита, цифры и символ подчеркивания. При этом первый символ имени не является цифрой. Все
вещественные числа заданы с двумя знаками после десятичной точки.
Гарантируется, что в каждой комнате участники упорядочены по невозрастанию набранных ими баллов.

Выходные данные
На первой строке выходного файла OUTPUT.TXT выведите N - суммарное число участников. На следующих N
строках выведите информацию о выступлении участников. (k+1)-ая строка описания суммарных результатов должна
содержать информацию об участнике, занявшем k-ое место: разделенные одним пробелом вещественное число totalk с
двумя знаками после десятичной точки и строку namek - соответственно количество набранных участником баллов и его
имя.
Не забудьте, что участники должны быть упорядочены по невозрастанию набранных ими баллов.

Пример
№ INPUT.TXT OUTPUT.TXT
2 11
6 909.94 Savior
909.94 Savior 867.15 Ying
439.51 tywok 448.12 natori
130.52 LimberG 439.51 tywok
0.00 BryanChen 195.32 aubergineanode
0.00 angsa 130.52 LimberG
1
-75.00 The_Hedgehog 0.00 angsa
5 0.00 shalinmangar
867.15 Ying 0.00 BryanChen
448.12 natori -25.00 Excilus
195.32 aubergineanode -75.00 The_Hedgehog
0.00 shalinmangar
-25.00 Excilus

Задача №640
Test-The-Best
(Время: 1 сек. Память: 16 Мб Сложность: 50%)
Конкурс Test-the-best, в котором участвуют лучшие программисты из Беларуси, России и других стран, проводит
очный тур. Стараясь не отставать от времени, организаторы решили позаботиться о безопасности. В последнее время на
рынке техники есть много аппаратуры, позволяющей осуществлять видеонаблюдение.
Широко распространены программы, позволяющие автоматически обрабатывать полученные результаты. Однако имея
дело с участниками этих соревнований, на существующие разработки полагаться небезопасно. Поэтому у оргкомитета
возникла необходимость написания собственной системы анализа изображений. Перед вами поставлена задача сравнения
двух черно-белых изображений на клетчатой сетке. Изображения считаются одинаковыми, если множества черных
пикселей в них могут быть получены друг из друга поворотом на 90, 180, или 270 градусов и, возможно, отражением
относительно вертикальной оси.

Входные данные
Входной файл INPUT.TXT содержит описания двух изображений в следующем формате: первая строка содержит два
целых числа n и m (1 ≤ n, m ≤ 500) - высоту и ширину изображения соответственно. Затем следуют n строк, содержащих по
m символов: «#» обозначает черный пиксель, «.» - белый.

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

https://acmp.ru/index.asp?main=alltasks 356/591
2/29/2020 Все задачи сайта

В выходной файл OUTPUT.TXT выведите одно слово: «Yes», если изображения одинаковы и «No» в противном
случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
7 8 Yes
........
..###...
..#.....
........
........
........
1 ........
6 10
..........
...#......
...#......
...##.....
..........
..........
1 1 No
#
2
1 1
.
1 3 No
#.#
3
1 4
#..#

Задача №641
Странная лотерея
(Время: 1 сек. Память: 16 Мб Сложность: 25%)
В честь успешного окончания первой четверти родители Пети и Вовы подарили им один лотерейный билет. Как
обычно, ребята всерьез не восприняли данный подарок ввиду довольно скудной вероятности выигрыша по их мнению. Но
каково было удивление братьев, когда они узнали из средств массовой информации, что номер их билета является
выигрышным.
После продолжительных минут радости ребята бросились узнавать сумму выигрыша, но как оказалось, узнать это не
так уж просто. Дело в том, что сумма выигрыша отчасти определяется самим владельцем или владельцами (если их
несколько) следующим образом. На обратной стороне билета есть определенная секция, стерев слой защитного покрытия,
можно увидеть целое положительное число N. После чего, каждый из владельцев билета должен зачеркнуть ровно по
одной цифре данного числа N, полученное число и является суммой выигрыша.
Ниже приведен пример с N равным 995051.

Максимальное число, которое может быть получено из данного N посредством вычеркивания двух цифр является
9955. Помогите Пете и Вове в этой непростой, но очень актуальной для них задачей.

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

В единственной строке входного файла INPUT.TXT находится число N (100 ≤ N < 10250). Число не содержит
лидирующих нулей. Строка входного файла заканчивается переводом строки и не содержит символов отличных от "0"-"9".

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – максимальное значение, которое может быть получено из N
посредством вычеркивания из него ровно двух цифр.
https://acmp.ru/index.asp?main=alltasks 357/591
2/29/2020 Все задачи сайта

Примеры
№ INPUT.TXT OUTPUT.TXT
1 102 2
2 995051 9955

Задача №642
Кризисный бизнес
(Время: 1 сек. Память: 16 Мб Сложность: 20%)
Петр Васильевич Колошин никогда не был пугливым человеком и всегда отличался спокойствием и прозорливостью,
особенно в сфере мировых политических и экономических процессов. Однако, несмотря ни на что, Петр Васильевич очень
недооценил последствия мирового финансового кризиса и, как следствие, был уволен пару недель назад с должности
сетевого администратора одной большой и серьезной организации.
Несмотря ни на что, Петр Васильевич не отчаялся и решил начать свое дело. Тщательно проанализировав бизнес-
климат в своем регионе, Петр Васильевич пришел к выводу, что наиболее целесообразным будет открыть новый
таксопарк. Первое с чего решил начать новоиспеченный бизнесмен – это закупить автомобили. За все время работы Петр
Васильевичу удалось накопить сумму S, которую он готов потратить на закупку машин.
В городе, в котором живет Петр Васильевич, есть только один автосалон. Известно, что в этом автосалоне выставлено
на продажу N автомобилей, причем установлено, что стоимость i-го автомобиля равняется Ai. Вашей задачей является
помочь еще неопытному бизнесмену Петр Васильевичу приобрести максимальное количество автомобилей, потратив
сумму не более S.

Входные данные
В первой строке входного файла INPUT.TXT находится два целых положительных числа разделенные одиночным
пробелом – это числа N (1 ≤ N ≤ 100) и S (1 ≤ S ≤ 109) соответственно.
Вторая строка содержит ровно N чисел Ai (1 ≤ Ai ≤ 109) , которые описывают стоимость соответствующих
автомобилей. Все числа в строке разделены одиночными пробелами.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число – максимальное количество автомобилей, которые сможет
приобрести Петр Васильевич на сумму не более чем S.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 30 3
1
15 5 11 10 12
6 18 4
2
5 10 1 2 1 20

Задача №643
Временной ключ
(Время: 1 сек. Память: 16 Мб Сложность: 20%)
Практически каждый уважающий себя программист знает, что для полного успеха зачастую мало написать
программный продукт, его также успешно надо уметь продать, и тем более также успешно защитить от взлома, а
соответственно и от несанкционированного распространения.
Многие годы основным способом защиты программного обеспечения от незаконного распространения было
использование, так называемого, активационного ключа. Вся проблема заключалась и заключается в том, что зачастую
используется статический ключ, то есть активационный ключ для конкретного программного продукта не зависит ни от
каких параметров и всегда является неизменным.
Знаменитая компания "Gold&Silver Soft" решилась на революционный шаг – было решено разработать
принципиально новый способ динамической генерации активационного ключа. В данном алгоритме ключ зависит от

https://acmp.ru/index.asp?main=alltasks 358/591
2/29/2020 Все задачи сайта

времени и меняется каждую минуту, что существенно затрудняет взлом.


Будем считать, что активационным ключом является обычное целое положительное число. В данной версии алгоритма
значение ключа на следующей минуте целиком и полностью зависит от значения ключа в текущий момент. Если в данный
момент ключ равен N, то через минуту он будет равен N + S(N), где S(N) – это число, называемое контрольной суммой
числа N и равняется количеству единиц в двоичной записи числа N. То есть если N = 6, то в следующую минуту значение
ключа будет равно 8, если быть точнее, то N’ = N + S(N) = 6 + S(6) = 610 + S(1102) = 6 + 2 = 8.

Будем считать, что на данный момент времени значение ключа равно N, вашей задачей является вычислить значение
ключа через одну минуту.

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

В первой и единственной строке входного файла INPUT.TXT находится одно натуральное число – N (1 ≤ N ≤ 2×109).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – значение активационного ключа на следующей минуте,
учитывая, что на данный момент времени значение ключа равно N.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 3
2 6 8
3 27 31

Задача №644
Временной ключ-2
(Время: 1 сек. Память: 16 Мб Сложность: 60%)
Практически каждый уважающий себя программист знает, что для полного успеха зачастую мало написать
программный продукт, его также успешно надо уметь продать, и тем более также успешно защитить от взлома, а
соответственно и от несанкционированного распространения.
Многие годы основным способом защиты программного обеспечения от незаконного распространения было
использование, так называемого, активационного ключа. Вся проблема заключалась и заключается в том, что зачастую
используется статический ключ, то есть активационный ключ для конкретного программного продукта не зависит ни от
каких параметров и всегда является неизменным.
Знаменитая компания "Gold&Silver Soft" решилась на революционный шаг – было решено разработать
принципиально новый способ динамической генерации активационного ключа. В данном алгоритме ключ зависит от
времени и меняется каждую минуту, что существенно затрудняет взлом.
Будем считать, что активационным ключом является обычное целое положительное число. В данной версии алгоритма
значение ключа на следующей минуте целиком и полностью зависит от значения ключа в текущий момент. Если в данный
момент ключ равен N, то через минуту он будет равен N + S(N), где S(N) – это число, называемое контрольной суммой
числа N и равняется количеству единиц в двоичной записи числа N. То есть если N = 6, то в следующую минуту значение
ключа будет равно 8, если быть точнее, то N’ = N + S(N) = 6 + S(6) = 610 + 1102 = 8.

Будем считать, что на данный момент времени значение ключа равно N, вашей задачей является вычислить значение
ключа через K минут.

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

В первой и единственной строке входного файла INPUT.TXT находятся два натуральных числа – N (1 ≤ N ≤ 2×109) и K
(1 ≤ K ≤ 2×109).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – значение активационного ключа через K минут, учитывая, что
на данный момент времени значение ключа равно N.

https://acmp.ru/index.asp?main=alltasks 359/591
2/29/2020 Все задачи сайта

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1 2
2 1 10 22
3 2 3 7

Задача №645
Красивая стена
(Время: 1 сек. Память: 16 Мб Сложность: 25%)
Однажды великий художник Гигабайт подарил королю Байтландии одно из своих лучших полотен. Король,
впечатленный произведением Гигабайта, в знак благодарности подарил ему K плиток из очень ценной разновидности
мрамора размером 10×10 сантиметров каждая.
Художник решил украсить этими плитками одну из стен своего дома. Он задумал выложить из них прямоугольник
высотой H плиток и шириной W плиток. Художник понимает, что число вариантов для выбора H и W достаточно велико.
Из всех возможных вариантов он хочет выбрать самый красивый. Ваша задача – помочь ему с выбором!
Для определения степени красоты художник решил учитывать два параметра:

1. Насколько выбранный прямоугольник будет близок к квадрату. Значение этого параметра равно модулю разности
чисел H и W(т.е. |H-W|).
2. Сколько плиток останется невостребованными после украшения стены. Значение этого параметра равно разности
чисел K и H×W(т.е. K-H×W, где K ≥ H×W ).

Степень красоты вычисляется как сумма значений двух описанных выше параметров. Например, имея 11 плиток,
можно выбрать прямоугольник 3×3, степень красоты равна 0+2 = 2. Также можно выбрать прямоугольник 2×5, тогда
степень красоты равна 3+1 = 4. Считается, что чем меньше степень красоты, тем красивее прямоугольник.
Ваша задача – написать программу, которая по заданному числу K находит размеры самого красивого прямоугольника.

Входные данные
Единственная строка входного файла INPUT.TXT содержит одно целое число K – количество подаренных королем
плиток (1 ≤ K ≤ 106).

Выходные данные
Единственная строка выходного файла OUTPUT.TXT должна содержать натуральные числа H и W соответственно,
которые определяют размеры самого красивого прямоугольника. Числа должны быть разделены одиночным пробелом.
Если решений несколько, выведите любое из них.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 11 3 3
2 2 1 2
3 20 4 5

Задача №646
Сладкие забавы
(Время: 1 сек. Память: 16 Мб Сложность: 60%)
Маленькие сладкоежки Сережа и Юля очень любят конфеты. Родители детей это знают, и потому у них не возникает
вопросов о том, что ребятишкам дарить в день рождения.
А тут подвернулся особый случай – обоим ребятишкам исполняется по 10 лет, и потому родители подсказали
приглашенным гостям, чему дети больше всего обрадуются на их общем юбилее.
Гостей в день рождения собралось достаточно много – N человек. Гость, пришедший i-м по счету, подарил детям
коробку, содержащую Ai конфет. Коробки конфет были как совсем маленькие, так и невероятно большие. Коробки были с
https://acmp.ru/index.asp?main=alltasks 360/591
2/29/2020 Все задачи сайта

прозрачными крышками и было видно, сколько там конфет.


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

Входные данные
Первая строка входного файла INPUT.TXT содержит два натуральных числа N и K соответственно (1 ≤ N ≤ 50; 1 ≤ K ≤
10000). Числа в строке разделены одиночным пробелом.
Вторая строка содержит N натуральных чисел Ai (1 ≤ i ≤ N, 1 ≤ Ai ≤ 109), разделенных одиночными пробелами, где
число Ai – это количество конфет в коробке, подаренной гостем, пришедшим i-м по счету.

Выходные данные
Единственная строка выходного файла OUTPUT.TXT должна содержать одно целое число — количество способов
честно поделить конфеты между детьми.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 3 8
1
1 2 3 2
5 67 6
2
10 22 30 41 50
3 6 0
3
4 1 5

Пояснение
Для первого примера варианты разбиения (номера коробок, доставшихся, например, Сереже): 3, 1 2, 1 3, 1 4, 2 3, 2 4, 3
4, 1 2 4.

Задача №647
Адаптивный поиск
(Время: 2 сек. Память: 16 Мб Сложность: 65%)
Знаменитая компания "Gold&Silver Soft" решила занять ведущее место в области разработки реляционных баз
данных. Руководство компании понимает, что для этого необходимо удивить потребителей быстродействием своего
программного продукта.
Ни для кого не секрет, что в основе реляционной базы данных лежит таблица, которую можно рассматривать как
одномерный массив записей. Известно, что при поиске все записи таблицы просматриваются последовательно, начиная с
самой первой и заканчивая найденной.
Технический отдел компании установил, что часто бывает так, что поиск одной и той же записи в таблице
производится несколько раз. Основываясь на этом, программисты решили после каждого нового поискового запроса
менять порядок следования записей в таблице. Другими словами, после поиска найденная запись перемещается на первое
место в таблице. Очевидно, что чем чаще осуществляется поиск определенной записи, тем ближе она будет к началу
таблицы и тем быстрее будет поиск этой записи.
Вашей задачей является написать программу, которая для каждого из M последовательно заданных поисковых
запросов будет определять количество просмотренных записей при поиске заданной. Для простоты обозначения будем
считать, что имеется таблица с N записями, где запись – это число от 1 до N. В начале все записи в таблице расположены в
порядке возрастания, то есть на i-м месте в таблице находится число i. Для приведенного ниже примера при M = 2, N = 6 и
запросах на поиск чисел «5» и «3» потребуется 5 и 4 просмотра записей соответственно.

https://acmp.ru/index.asp?main=alltasks 361/591
2/29/2020 Все задачи сайта

Входные данные
Первая строка входного файла INPUT.TXT содержит два целых числа N и M (1 ≤ N, M ≤ 65535) — количество записей
в таблице и количество запросов на поиск соответственно. Числа разделены одиночным пробелом.
Вторая строка содержит M натуральных чисел Ai (1 ≤ Ai ≤ N), разделенных одиночными пробелами, где Ai — запрос
на поиск числа Ai в таблице. Запросы на поиск выполняются последовательно в порядке их ввода.

Выходные данные
Единственная строка выходного файла OUTPUT.TXT должна содержать M натуральных чисел, разделенных
одиночными пробелами, i-е число – это количество просмотренных записей при поиске числа Ai.

Примеры
№ INPUT.TXT OUTPUT.TXT
6 2 5 4
1
5 3
10 10 10 10 10 10 10 10 10 10 10 10
2
10 9 8 7 6 5 4 3 2 1
3 14 3 3 2 1 3 1 3 1 2 1 1 1 2 2
3
3 2 3 3 1 1 2 2 1 1 1 1 2 1

Задача №648
Азартный Шрэк
(Время: 1 сек. Память: 16 Мб Сложность: 25%)
Как-то раз Шрек решил посетить казино. Не будучи заядлым любителем азартных игр, Шрек обнаружил, что он не
знает правил ни одной из игр, доступных в казино. Недолго думая, Шрек решил все-таки поиграть. Его взор привлекла
игра с довольно незамысловатыми правилами.
На игровом столе лежат N карточек. На каждой карточке написано целое положительное число. Игра проходит между
игроком и крупье. Карточки лежат на столе числами вниз. Игра заключается в том, что игрок открывает ровно N/2
карточек. Сумма всех чисел, написанных на карточках открытых игроком, называется “суммой игрока”. Следующим ходом
крупье открывает оставшиеся N/2 карточек. Сумма всех чисел, написанных на карточках открытых крупье, называется
“суммой крупье”. Выигрыш игрока определяется разностью чисел между “суммой игрока” и “суммой крупье”. Очевидно,
что полученная разность может быть отрицательным числом. Это свидетельствует о том, что игрок проиграл и должен
казино соответствующую сумму.
Все бы ничего, но Шрек обладает способностью видеть надписи сквозь бумагу любой плотности. Ваша задача
определить максимальную сумму выигрыша, которую может получить Шрек с учетом того, что он видит все числа,
написанные на карточках.

Входные данные
Первая строка входного файла INPUT.TXT содержит одно четное натуральное число N (2 ≤ N ≤ 100). Вторая строка
входного файла содержит ровно N чисел Ai(1 ≤ Ai ≤ 106) – числа, написанные на игральных карточках. Все числа в строке
разделяются одиночными пробелами, Ai – число, написанное на i-й карточке. Карточки нумеруются последовательно,
начиная с единицы.

https://acmp.ru/index.asp?main=alltasks 362/591
2/29/2020 Все задачи сайта

Выходные данные
Единственная строка выходного файла OUTPUT.TXT должна содержать ровно одно целое число – максимальный
выигрыш, который может получить Шрек с учетом своей уникальной способности видеть числа, написанные на карточках.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 2
1
1 3
4 104
2
3 1 8 100

Задача №649
Защищенный пароль
(Время: 2 сек. Память: 16 Мб Сложность: 50%)
Очень надежная и совершенно бесплатная операционная система «Vokna» известна своей безопасностью, так как при
проектировании разработчики уделили большое внимание проблемам генерации паролей. Ядро операционной системы
содержит в себе строку S длиной N символов. Генерация пароля происходит с использованием символов строки S.
Паролем будем называть подстроку Si,j строки S длиной не менее одного и не более N символов. Подстрокой Si,j строки S
называется строка, последовательно составленная из символов S[i], S[i+1], S[i+2], … , S[j-1], S[j]. Символы в строке
нумеруются последовательно начиная с единицы. Пароль Si,j считается защищенным, если в нем встречается не более K
одинаковых символов. Вашей задачей является по заданной строке S и числу K определить количество различных
вариантов выбора защищенного пароля. Два варианта выбора пароля S1i,j и S2i',j' называются различными, если i ≠ i' или j
≠ j'.

Входные данные
Первая строка входного файла INPUT.TXT содержит два натуральных числа N (1 ≤ N ≤ 106) и K (1 ≤ K ≤ N),
разделенных одиночным пробелом, где N – количество символов в строке S; K – максимальное количество одинаковых
символов в пароле. Вторая строка входного файла содержит ровно N символов. Каждый символ является либо маленькой
английской буквой, либо цифрой. Каждая строка входного файла заканчивается символом перевода строки.

Выходные данные
Единственная строка выходного файла OUTPUT.TXT должна содержать одно целое число – количество вариантов
выбора защищенного пароля.

Примеры
№ INPUT.TXT OUTPUT.TXT
6 2 15
1
7aaarr
4 1 7
2
ayay

Задача №650
Странная сеть
(Время: 1 сек. Память: 32 Мб Сложность: 65%)
В одной из самых крупных IT-компаний уже много лет действует локальная сеть, в которую входят N компьютеров,
последовательно пронумерованных целыми числами от 1 до N. Для соединения компьютеров используется провод
специального типа. С помощью одного провода можно напрямую соединить ровно два компьютера, причем соединение
позволяет передавать данные в двух направлениях. Каждый компьютер имеет два порта, поэтому он может быть соединен
напрямую не более чем с двумя другими компьютерами. Сеть организована таким образом, что если два компьютера не
соединены напрямую проводом, то передача данных может осуществляться через промежуточные компьютеры. Путем
передачи данных между компьютерами с номерами V1 и VK называется такая последовательность компьютеров V1, V2, …
, VK-1, VK, что для любого 2 ≤ i ≤ K существует прямое соединение между компьютерами Vi-1 и Vi. Длиной пути передачи
https://acmp.ru/index.asp?main=alltasks 363/591
2/29/2020 Все задачи сайта

данных считается количество используемых промежуточных компьютеров. Минимальным путем передачи данных между
компьютерами Vi и Vj является такой путь передачи данных, длина которого минимальна из возможных.

Для приведенного ниже примера длина минимального пути передачи данных между компьютерами 1 и 8 равна 2, а
между компьютерами 2 и 7 равна 1, между компьютерами 2 и 4 равна 0.

Если не существует ни одного пути передачи данных между какими-либо двумя компьютерами, то в данном случае
длина минимального пути передачи данных между этими компьютерами считается равной нулю. Для приведенного выше
примера между компьютерами 1 и 4 не существует пути передачи данных, поэтому длина минимального пути передачи
данных равна 0.
Для выяснения эффективности локальной сети необходимо определить коэффициент связности, значение которого
равно сумме длин минимальных путей передачи данных между всеми парами компьютеров. Пары, отличающиеся
порядком следования элементов считаются различными, то есть пара (1, 2) и (2, 1) считаются различными.
Вашей задачей является определить значение коэффициента связности для заданной локальной сети.

Входные данные
Первая строка входного файла INPUT.TXT содержит два целых числа N и M – число компьютеров и число прямых
соединений соответственно (2 ≤ N ≤ 105, 1 ≤ M ≤ 106). Числа разделены одиночным пробелом.
Каждая из следующих M строк содержит описание одного прямого соединения. Каждое прямое соединение
описывается при помощи двух целых чисел Xi и Yi (1 ≤ Xi, Yi ≤ N; Xi ≠ Yi), разделенных пробелом – номера
соответствующих компьютеров, соединенных напрямую. Известно, что Xi ≠ Xj или Yi ≠ Yj, если i ≠ j. Строки в файле
нумеруются последовательно, начиная с единицы.

Выходные данные
Единственная строка выходного файла OUTPUT.TXT должна содержать одно целое число – коэффициент связности
локальной сети.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 1 0
1
1 2
4 4 4
1 2
2 2 3
4 3
1 4
3 8 7 12
1 3
3 6
4 2
7 4
2 5

https://acmp.ru/index.asp?main=alltasks 364/591
2/29/2020 Все задачи сайта
5 7
6 8

Задача №651
Преобразование моноклеточных
(Время: 1 сек. Память: 16 Мб Сложность: 29%)
Как великолепна страна Байтландия! В ней есть цветущие леса, прозрачные реки, кисельные берега… Но речь пойдет
не о них. Уже много лет в Байтландии функционирует НИИ “Цитологии и генетики”. В нем выводятся новые формы
жизни. Недавно ученым этого НИИ удалось разработать принципиально новый вид организмов. Особенностью этих
организмов является то, что они состоят из большого количества однотипных клеток, то есть являются моноклеточными.
Правительство Байтландии заинтересовалось новой разработкой и сделало заказ на производство двух моноклеточных
организмов, в каждом из которых должно быть по M клеток. За несколько дней до сдачи проекта было обнаружено, что в
одном из организмов получается не M клеток, а N. На какой из стадий разработки была допущена ошибка неизвестно, но
положение надо исправлять!
Сотрудниками НИИ было принято решение о преобразовании моноклеточного с N клетками в моноклеточное с M
клетками. Для этого в экстренном режиме было разработано два типа вещества:

1. Вещество, которое делит клетки моноклеточного организма, т.е. каждая клетка делится на P частей. В результате
количество клеток умножается на P, где P – простое число.
2. Вещество, объединяющее клетки. Клетки организма объединяются в группы по T штук, где Т также простое число.
Далее каждая группа клеток объединяется в одну клетку. В результате общее количество клеток делится на T. При
этом T выбирается таким, чтобы деление происходило без остатка.

Отметим, что натуральное число называется простым, если оно имеет только два натуральных делителя – это единица
и само число.
Серьезным недостатком этих веществ является их высокая стоимость. В соответствии с этим требуется преобразовать
моноклеточное с N клетками в моноклеточное с M клетками за минимальное количество операций. За одну операцию к
моноклеточному можно применить одно вещество из двух заданных типов. Помогите НИИ “Цитологии и генетики”
разрешить эту непростую задачу!

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

В первой строке входного файла INPUT.TXT заданы два натуральных числа N и M (1 ≤ N, M ≤ 109) разделенные
одиночным пробелом.

Выходные данные
Единственная строка выходного файла OUTPUT.TXT должна содержать целое число – минимальное количество
операций, необходимое для преобразования моноклеточного организма с N клетками в моноклеточный организм с M
клетками.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 36 3
2 32768 3 16
3 1434 1434 0

Задача №652
Квантовый имитатор
(Время: 2 сек. Память: 16 Мб Сложность: 70%)
Знаменитая компания по разработке аппаратного обеспечения «Zhaleza» после многолетних исследований разработала
опытный образец квантового компьютера. Разработанная архитектура концептуально отличалась от используемой
микропроцессорной архитектуры. Будущей областью применения своего изобретения компания видит обработку и
хранение огромных объемов информации. Основным объектом манипулирования квантового компьютера является
одномерный массив. На данный момент в процессоре квантового компьютера реализованы операции двух типов:

https://acmp.ru/index.asp?main=alltasks 365/591
2/29/2020 Все задачи сайта

1. Инвертирование части массива, начиная с индекса L и заканчивая индексом R. Под инвертированием части массива
понимается изменение прямого порядка следования элементов массива на обратный, начиная с индекса L и заканчивая
индексом R, то есть элемент L меняется местами с элементом R, элемент L+1 с элементом R-1 и так далее. На псевдоязыке
эту операцию можно записать следующим образом:
For i = 1 to [(R-L+1)/2] do Swap(A, L+i-1, R-i+1)

Обозначение [X] – это наибольшее целое число, не превосходящее X, где X –действительное число. Процедура
Swap(A, i, j) может быть записана следующим образом:

Procedure Swap(A, i, j)
Begin
Tmp = A[i]
A[i] = A[j]
A[j] = Tmp
End

2. Вывод на экран суммы элементов массива, начиная с индекса L и заканчивая индексом R. На псевдоязыке процедура
может быть реализована следующим образом:

Procedure PrintSum(A, L, R)
Begin
Sum = 0
For i = L to R do Sum = Sum + A[i]
Print(Sum)
End

Массив, с которыми работает квантовый компьютер, являются одномерным. Все элементы являются натуральными
числами и нумеруются последовательно, начиная с единицы. Первоначально массив из N элементов заполнен числами от 1
до N, таким образом что A[1] = 1, A[2] = 2,…, A[N] = N.
Программой будем называть последовательность команд длины K, где каждая команда – это операция одного из двух
типов. Ваша задача разработать имитатор работы квантового компьютера, позволяющий по заданной размерности массива
N и заданной программе определить последовательность чисел выведенных квантовым компьютером на экран.

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

Первая строка входного файла INPUT.TXT содержит два целых числа N и K (1 ≤ N ≤ 109, 1 ≤ K ≤ 5000). Каждая
последующая строка описывает ровно одну операцию. Первый символ строки входного файла характеризует тип
операции: 'I'(ASCII 73) – первый тип запроса, 'S'(ASCII 83) – второй тип запроса. Далее в строке через пробел следуют два
числа, характеризующие соответствующие индексы L и R (1 ≤ L ≤ R ≤ N), разделенные одиночным пробелом.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать последовательность чисел выведенных на экран квантовым
компьютером. Каждое число выводится в отдельную строку. Гарантируется, что в программе присутствует операция
второго типа.

Примеры
№ INPUT.TXT OUTPUT.TXT
10 2 19
1 I 1 5
S 3 7
15 4 65
S 2 11 21
2 I 10 15
I 1 10
S 5 10
3 1000 9 11039
S 17 149 101519
I 199 428 86244
I 17 417 194331

https://acmp.ru/index.asp?main=alltasks 366/591
2/29/2020 Все задачи сайта
I 212 987
S 300 420
I 400 700
I 633 759
S 11 238
S 477 872

Задача №653
Аттракцион
(Время: 1 сек. Память: 16 Мб Сложность: 50%)
На протяжении многих лет в Байтландии существует парк развлечений “Funny byte”, в котором представлено много
различных аттракционов: колесо вычислений, веселые горки с трассами в форме интегралов, равнобедренная ромашка и
многие другие.
В последние годы популярность “Funny byte” стала неуклонно падать. В целях привлечения посетителей руководство
парка решило открыть новый аттракцион, который представляет собой сложный механизм.
Кресла аттракциона расположены в N рядов по M кресел в каждом. То есть каждое кресло характеризуется номером
ряда и номером колонки, в котором оно находится. Ряды нумеруются последовательно сверху вниз начиная с единицы,
колонки нумеруются слева направо начиная с единицы. Каждое кресло имеет свой уникальный номер. Кресло,
находящееся в i-м ряду и в j-ой колонке, имеет номер (i-1)*M + j.
После посадки отдыхающих, кресла поднимают вверх над землей. И начинается веселье! Механизм аттракциона
случайным образом производит некоторое количество операций. Под одной операцией понимается взаимная перестановка
двух рядов либо двух колонок. При взаимной перестановке двух рядов или колонок каждое кресло в ряду или колонке
заменятся на соответствующее ему кресло в другом ряду или колонке.
И вот аттракцион завершил свою работу. Но есть одна трудность! Кресла надо вернуть в начальное положение при
помощи таких же операций. Как количество, так и сами операции не обязательно должны быть идентичны тем, которые
производил аттракцион во время сеанса. Руководство парка решило, что вернуть кресла в начальное положение
необходимо не более чем за 1000 операций.
Такая задача оказалась не по силам разработчикам механизма. Помогите им! От вас требуется разработать программу,
позволяющую вернуть кресла в начальное положение. Гарантируется, что решение существует.

Входные данные
В первой строке входного файла INPUT.TXT заданы два натуральных числа N и M (1 ≤ N, M ≤ 250). В последующих N
строках задано по M натуральных чисел, где j-е число в i+1-й строке соответствует номеру кресла после окончания сеанса
аттракциона. Числа в строках разделяются одиночными пробелами.

Выходные данные
В первой строке выходного файла OUTPUT.TXT должно быть выведено количество операций перестановки K,
которое не должно превышать 1000. Каждая из следующих K строк описывает одну операцию. Каждая операция
описывается строкой вида Q X Y, где Q – символ 'R'(ASCII 82) либо символ 'C'(ASCII 67). Если Q равно 'R', то данная
операция является перестановкой рядов, если Q равно 'C', то операция является перестановкой колонок. X и Y – два
натуральных числа, соответствующие номерам рядов (колонок), которые будут переставлены в результате данной
операции. Операции должны быть выведены в порядке осуществления, то есть последовательное применение которых
позволит вернуть кресла в начальное положение.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 2 2
1 4 3 C 1 2
2 1 R 1 2
3 5 0
1 2 3 4 5
2
6 7 8 9 10
11 12 13 14 15
3 4 5 5
10 7 9 8 6 R 1 4
https://acmp.ru/index.asp?main=alltasks 367/591
2/29/2020 Все задачи сайта
15 12 14 13 11 C 1 5
20 17 19 18 16 C 3 4
5 2 4 3 1 R 2 4
R 3 4

Задача №654
Концертный зал
(Время: 1 сек. Память: 32 Мб Сложность: 36%)
Большой концертный зал Байтланда — известное на весь мир место, где мечтают выступать величайшие оперные
певцы и певицы. В желающих послушать их выступления, как правило, недостатка нет. Поэтому Министерством культуры
Байтланда было принято решение увеличить размеры зала.
Однако это вызвало другую проблему: на задних рядах обновленного концертного зала посетители практически
ничего не слышат. Поэтому Инженерный институт предложил проект акустической системы, которая будет состоять из
микрофонов, записывающих происходящее на сцене, и динамиков, транслирующих усиленный звук в зал.
В идеальном случае динамики должны достоверно воспроизводить звук, записываемый с микрофонов. На практике
этого добиться почти невозможно, так как при текущем уровне развития технологий практически все динамики
воспроизводят различные частоты с различной громкостью. Мириться с этим инженеры, однако, не собираются.
В лаборатории удалось измерить АЧХ (амплитудно-частотную характеристику) динамиков и представить ее в
следующей форме:

1. весь диапазон частот, воспроизводимых динамиками, разделен на N последовательных интервалов, нумеруемых от 1


до N;
2. в i-м интервале известно Ai - значение усредненной по интервалу громкости в децибелах (Прим.: децибел (дБ) —
единица измерения громкости).

АЧХ из примера №2 и усилители, которые нужны, чтобы ее «выровнять» на уровне в 4 дБ (5 штук, усилители
применяются в порядке от верхних к нижним)

АЧХ динамиков можно править с помощью специальных электронных устройств — усилителей. Усилитель может
поднять силу сигнала на всех интервалах с A-го по B-й на 1 дБ, где A, B — произвольные натуральные числа, не
превосходящие N, A ≤ B. Из-за особенностей применяемых в устройстве радиодеталей, сила сигнала перед применением
усилителя должна быть одинакова на всех интервалах с A-го по B-ой. Так как стоимость усилителя достаточно велика, то
их количество должно быть минимально.
Считается, что динамики воспроизводят звук достоверно, если на всех интервалах значение громкости одинаково.
Напишите программу, которая вычислит минимальное число усилителей, необходимое для достижения достоверного
звучания.

Входные данные
Первая строка входного файла INPUT.TXT содержит одно число N (1 ≤ N ≤ 200000) — количество интервалов, на
которых замерялась АЧХ. Вторая строка содержит N натуральных чисел Ai (1 ≤ i ≤ N, 1 ≤ Ai ≤ 109), разделенных
одиночными пробелами — усредненная громкость на i-м интервале в децибелах.

Выходные данные
Единственная строка выходного файла OUTPUT.TXT должна содержать одно целое число — минимальное число
усилителей, с помощью которых можно добиться достоверного звучания.

https://acmp.ru/index.asp?main=alltasks 368/591
2/29/2020 Все задачи сайта

Примеры
№ INPUT.TXT OUTPUT.TXT
3 3
1
1 3 2
4 5
2
1 2 4 2
5 6
3
3 1 4 1 1

Задача №655
Кодирование данных
(Время: 1 сек. Память: 16 Мб Сложность: 60%)
В компании «Gold&Silver Soft» разработан новый алгоритм кодирования натуральных чисел. Этот алгоритм основан
на операции циклического сдвига числа.
Циклическим сдвигом натурального числа N относительно числа K назовем операцию переноса K крайних слева цифр
в десятичной записи числа N к цифре крайней справа. Обозначим через cyclic(N, K) число, получаемое из N посредством
циклического сдвига относительно числа K.
Введенное понятие можно проиллюстрировать на примерах:

В разработанном алгоритме предлагается для кодирования натурального числа N использовать число code(N) = N +
cyclic(N, K) (где K – известный параметр).
Вы работаете в «Gold&Silver Soft» и Вам была поручена разработка алгоритма декодирования, то есть восстановления
числа N по числам code(N) и K.

Входные данные
В первой строке входного файла INPUT.TXT находится целое число code(N). Во второй строке входного файла
находится целое число K. Ограничения: 10K+1 ≤ code(N) ≤ 1018, 1 ≤ K ≤ 17.

Выходные данные
В первой и единственной строке выходного файла OUTPUT.TXT должно быть выведено целое число N. Если
существует несколько вариантов восстановления числа N по числам code(N) и K, то выведите любой из них.

Пример
№ INPUT.TXT OUTPUT.TXT
512 319
1
1

Задача №656
Дорожный аукцион
(Время: 1 сек. Память: 16 Мб Сложность: 75%)
Где-то далеко от нас, на краю земли, есть одна небольшая, но красивая страна WWW с богатейшим историческим
прошлым. Люди, населяющие ее, известны всему миру своей добротой и гостеприимством. Вся территория страны
условно поделена на районы. Каждый район состоит из определенного количества городов, один из которых является
районным центром.

https://acmp.ru/index.asp?main=alltasks 369/591
2/29/2020 Все задачи сайта

Некоторые пары городов данного государства соединены двусторонними дорогами, причем известно, что любой
районный центр соединен дорогами со всеми остальными городами района, а также не более чем с двумя другими
районными центрами. Никакая дорога не соединяет два города, не являющиеся районными центрами. Дорога может
соединять два города из разных районов только в том случае, если оба они являются районными центрами. Между любой
парой городов может быть не более одной дороги. Дороги построены таким образом, что по ним можно доехать из любого
города в любой другой.
Исторически сложилось, что право на владение всеми дорогами до недавних пор принадлежали одной известной
компании «АвтоДор». В связи с этим в конституционный суд был подан антимонопольный иск, который был удовлетворен
– теперь компании предстоит продать часть своих владений. Экономисты компании определили для каждой дороги ее
стоимость.
Одна маленькая, небогатая, но гордая фирма «КурсИнвест», в которой Вы работаете финансовым директором,
захотела выкупить часть дорог, а именно, K из них. Причем необходимо, чтобы для любых двух городов, к которым
примыкает хотя бы одна из выкупленных K дорог, существовало не менее одного соединяющего их пути, состоящего
только из приобретенных дорог. Вам, как финансовому директору, было поручено найти экономически выгодное решение.
Решение будем называть экономически выгодным, если денежная сумма, потраченная на приобретение дорог, является
минимальной.

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

В первой строке входного файла INPUT.TXT находятся три целых числа N (3 ≤ N ≤ 2000), M и К (1 ≤ K < M ≤105), где
N – общее количество городов, M – общее количество дорог, K – количество дорог, которое необходимо приобрести.
Далее следует M строк, в каждой из которых записаны три целых числа Ai, Bi и Ci, где Ai и Bi – номера городов,
которые соединены дорогой (1 ≤ Ai, Bi ≤ N, Ai ≠ Bi), а Ci – стоимость дороги (1 ≤ Ci ≤ 106). Все числа в строках разделены
одиночными пробелами.

Выходные данные
Выходной файл OUTPUT.TXT должен состоят из K строк, каждая из которых должна содержать одно число – номер
приобретенной дороги. Дороги нумеруются в порядке их ввода начиная с единицы. Если решений несколько, то выведите
любое из них.

Пример
№ INPUT.TXT OUTPUT.TXT
9 8 4 4
8 9 2 1
5 1 10 8
3 8 11 3
1 2 5 7
8 7 8
5 6 12
4 7 9
3 5 5

Задача №657
Hello space!
(Время: 1 сек. Память: 16 Мб Сложность: 60%)
Ученые из центра космических наблюдений зафиксировали полезный информационный сигнал, который поступает из
далекой галактики. Оказалось, что информацию передают некоторые разумные существа, посылая в сторону Земли луч,
яркость которого изменяется с обычной на повышенную, и наоборот. Если информация не передается, то яркость луча
обычная и не меняется во времени (пустой сигнал).
Ученым удалось распознать правило, по которому инопланетяне кодируют полезный сигнал. Он является двоичным
кодом, причем в течение сеанса связи передача каждого бита сигнала занимает одно и то же вещественное время T. Для
передачи бита “1” яркость луча в течение времени T/2 повышенная, а в течение второй половины времени T/2 – обычная.
Передача бита “0” осуществляется наоборот: в течение первой половины времени T/2 яркость луча обычная, а в течение
второй половины времени T/2 – повышенная. Ученые считают, что первый бит полезного сигнала всегда равен единице, а
последний бит – нулю. Для наглядности пример передачи каждого из битов представлен на рисунке:

https://acmp.ru/index.asp?main=alltasks 370/591
2/29/2020 Все задачи сайта

Ученым удалось сконструировать прибор, который позволяет представить информацию, поступающую из далекой
галактики, в виде последовательности нечетной длины, состоящей из целых чисел, определяющих, сколько времени
передающий луч находился в постоянном состоянии. Первое число этой последовательности показывает время, в течение
которого луч находился в состоянии повышенной яркости, второе число – в состоянии обычной яркости, третье – снова
повышенной яркости и т.д. Последнее число последовательности (как и первое) показывает время нахождения луча в
состоянии повышенной яркости.
К сожалению, построенный прибор не является абсолютно точным – результаты всех измерений, которые он
производит, имеют относительную погрешность, не превосходящую 10%. Это значит, что реальное время , в течение
которого луч находился в постоянном состоянии (L – вещественное число), и зафиксированное прибором время (L' – целое
число) удовлетворяют неравенству |L - L'| / L ≤ 0.1 .
В качестве примера рассмотрим передачу сигнала “110”, если T = 84.6.

При точной работе прибор зафиксировал бы следующую последовательность:


42.3, 42.3, 42.3, 84.6, 42.3
Обратите внимание, что данная последовательность не зависит от момента времени, в который началась передача
сигнала.
Однако из-за наличия погрешности результат работы прибора достаточно непредсказуем. К примеру, полученная
последовательность может быть следующего вида:
42, 43, 39, 93, 44
Ученым при помощи построенного прибора удалось получить информацию о K инопланетных сигналах. Теперь
задача состоит в том, чтобы по полученной прибором информации определить сами сигналы. Эта задача осложняется тем,
что ученые не знают, какое значение T инопланетяне использовали для передачи сигналов. Более того, для передачи
разных сигналов могли использоваться разные значения T. Вам как начальнику отдела инновационных технологий центра
космических наблюдений была поручена разработка программы для решения этой задачи.

Входные данные
В первой строке входного файла INPUT.TXT записано целое число K – количество принятых инопланетных сигналов
(1 ≤ K ≤ 5). Далее следует описание K сигналов. Описание каждого сигнала начинается со строки, содержащей целое
нечетное число N – длина последовательности, которую зафиксировал прибор для данного сигнала (3 ≤ N ≤ 32767). Далее
следует N строк, в каждой из которых записано одно целое число Ti – значение i-го элемента последовательности (0 < Ti ≤
109).

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

https://acmp.ru/index.asp?main=alltasks 371/591
2/29/2020 Все задачи сайта

В выходной файл OUTPUT.TXT для каждого из сигналов необходимо вывести одну строку из N символов '0'/'1' –
двоичный код принятого сигнала. Если существует несколько способов восстановления сигнала, то выведите любой из
них. Если не существует ни одного способа восстановления сигнала, то выведите строку "ERROR".

Пример
№ INPUT.TXT OUTPUT.TXT
2 110
5 ERROR
42
43
39
93
1 44
5
10
10
22
10
30

Задача №658
Фермерское счастье
(Время: 1 сек. Память: 16 Мб Сложность: 65%)
На протяжении многих лет кролик Роджер известен всей округе как выдающийся фермер, в искусстве ведения
хозяйства ему нет равных. В проведенном международном конкурсе «Фермер года», с большим отрывом выиграл кролик
Роджер.
Главный приз – возможность первым из всех фермеров отгородить себе участок на специально выделенном поле.
Известно, что на поле растет N деревьев. Отгораживаемый участок должен иметь форму треугольника, вершинами
которого являются некоторые из растущих на поле деревьев.
Кролик быстро смекнул, что на самом деле существует много вариантов выбора участка, но его интересуют только
такие варианты, при которых участок не содержит внутри себя других деревьев. Ваша задача состоит в том, чтобы помочь
Роджеру определить количество интересующих его вариантов выбора участка.

Входные данные
В первой строке входного файла INPUT.TXT находится одно целое число N (3 ≤ N ≤ 255). В каждой из последующих
N строк записаны два целых числа Xi и Yi – координаты очередного дерева в прямоугольной декартовой системе
координат (-10000 ≤ Xi,Yi ≤ 10000). Деревья достаточно малы, поэтому их можно считать точками на плоскости. Никакие
три дерева не лежат на одной прямой. Числа в строках разделены одним пробелом.

Выходные данные
Единственная строка выходного файла OUTPUT.TXT должна содержать одно целое число – количество вариантов
выбора участка.

Пример
№ INPUT.TXT OUTPUT.TXT
6 15
1 4
0 0
1 4 5
3 1
-2 2
1 2

https://acmp.ru/index.asp?main=alltasks 372/591
2/29/2020 Все задачи сайта

Задача №659
Перетягивание каната
(Время: 3 сек. Память: 16 Мб Сложность: 62%)
Для участия в соревнованиях по перетягиванию каната зарегистрировалось N человек. Некоторые из участников могут
быть знакомы друг с другом. Причем, если двое из них имеют общего знакомого, то это не означает, что они обязательно
знакомы друг с другом.
Организаторы соревнований заинтересованы в их качественном проведении. Они хотят разделить всех участников на
две команды так, чтобы в первой команде было K человек, а во второй – N-K человек. Из всех возможных вариантов
формирования команд, организаторы хотят выбрать такой вариант, при котором сумма сплоченностей обеих команд
максимальна. Сплоченностью команды называется количество пар участников этой команды, знакомых друг с другом.
Ваша задача – помочь организаторам найти требуемое разделение участников на две команды.

Входные данные
В первой строке входного файла INPUT.TXT задаются три числа N, K, M, разделенные одиночными пробелами, где N
– общее число зарегистрированных участников, K – требуемое количество человек в первой команде, M – количество пар
участников, знакомых друг с другом.
Каждая из следующих M строк содержит два различных числа, разделенные пробелом – номера двух участников,
знакомых друг с другом. Все участники нумеруются от 1 до N.
Ограничения: все числа целые, 0 < K < N < 25, 0 ≤ M ≤ N(N-1)/2

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одну строку, состоящую из K чисел, каждое из которых задает номер
участника, попавшего в первую команду. Числа должны быть разделены пробелами. Если существует несколько решений
данной задачи, то выведите любое из них.

Пример
№ INPUT.TXT OUTPUT.TXT
5 3 3 5 2 4
1 3
1
2 5
5 4

Задача №660
Контрольная работа
(Время: 3 сек. Память: 16 Мб Сложность: 60%)
Петя для выполнения контрольной работы по математике аккуратно вырезал из бумаги в клеточку лист прямоугольной
формы размером N клеток по вертикали и M клеток по горизонтали.
Перед уроком, в ожидании учителя, чтобы как-нибудь развлечься, Петя раскрасил ручкой на листе бумаги K
различных клеток. Получив замечание учителя, Петя решил вырезать из этого листа бумаги меньший прямоугольный
листок, на котором не было бы раскрашенных клеток, и сказал учителю, что знает сколькими различными способами это
можно сделать.
Петя считает, что два способа вырезания прямоугольных листков являются различными, если на листе бумаги
найдется хотя бы одна клетка, которая принадлежит одному из вырезаемых листков и не принадлежит другому. На самом
деле, Петя не знает точного числа всевозможных способов вырезания листка прямоугольной формы. Однако он слышал о
больших возможностях современных вычислительных машин, поэтому решил попросить помощи у участников
республиканской олимпиады по информатике.
Производить разрезы разрешается только по линиям, разделяющим клетки друг от друга.

Входные данные
В первой строке входного файла INPUT.TXT находятся три числа N, M и K, разделенные пробелами, где N и M –
размеры листа бумаги, а K – количество закрашенных Петей клеток. Каждая из следующих K строк содержит два числа,
разделенные пробелом и описывающие одну закрашенную клетку. Первое число определяет номер строки листа бумаги, в

https://acmp.ru/index.asp?main=alltasks 373/591
2/29/2020 Все задачи сайта

которой находится закрашенная клетка, а второе число – номер столбца. Строки листа бумаги нумеруются сверху вниз от 1
до N, а столбцы – слева направо от 1 до M.
Ограничения: все числа натуральные, K ≤ 100000; N, M ≤ 5000; K < NM .

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

Пример
№ INPUT.TXT OUTPUT.TXT
4 3 3 22
1 2
1
4 3
3 1

Задача №661
«Стабильный» интернет
(Время: 1 сек. Память: 16 Мб Сложность: 55%)
Закончив университет, Петя решил заняться разработкой web-приложений. Получив первый заказ, Петя посчитал
разумным на время выполнения заказа обеспечить себя доступом в Интернет. Провайдер, с которым Петя заключил
контракт, обеспечивает доступ в Интернет только посредством сервис-карт. Когда Петя пришел в местное почтовое
отделение за их покупкой, то оказалось, что в продаже имеется N сервис-карт.
Каждая сервис-карта характеризуется тремя числами Bi, Ei, Si, где Si – цена карты, а Bi и Ei – это начало и окончание
промежутка времени её действия, т.е. сервис-карта позволяет получить доступ в Интернет в любой момент времени t
такой, что Bi ≤ t ≤ Ei. Время отсчитывается от некоторого фиксированного момента в прошлом.

Петя решил, что будет работать над выполнением заказа, начиная с момента времени B и заканчивая моментом
времени E. Основная проблема состоит в том, что Петя не богат, поэтому он хочет на время выполнения заказа обеспечить
себя «стабильным» Интернетом и потратить на это как можно меньшую сумму денег. Будем говорить, что данное
множество сервис-карт обеспечивает Пете «стабильный» Интернет, если для любого момента времени t, такого, что B ≤ t ≤
E, найдется хотя бы одна сервис-карта из данного множества, которая позволяет получить доступ в Интернет в этот
момент времени.
Ваша задача состоит в том, чтобы определить минимальную сумму денег, необходимую Пете для приобретения
множества карт, которое обеспечит ему «стабильный» Интернет на время выполнения заказа.

Входные данные
В первой строке входного файла INPUT.TXT находится одно число N. Во второй строке два числа B и E, разделенные
пробелом, где B – момент начала промежутка времени, в который Петя будет работать над выполнением заказа, а E –
момент окончания.
Следующие N строк описывают сервис-карты, i-ая из этих строк описывает i-ю сервис-карту и содержит три числа Bi,
Ei и Si, разделенные одиночными пробелами.

Ограничения: все числа натуральные, 1 ≤ N ≤ 105, 1 ≤ Bi < Ei ≤ 109, 1 ≤ B < E ≤ 109, 1 ≤ Si ≤ 20 000. Существует хотя
бы одно множество карт, которое обеспечивает «стабильный» Интернет на время выполнения заказа

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно число, равное минимальной сумме денег, необходимой Пете
для приобретения множества сервис-карт, которое обеспечит ему «стабильный» Интернет на время выполнения заказа.

Пример
№ INPUT.TXT OUTPUT.TXT
1 7 49
https://acmp.ru/index.asp?main=alltasks 374/591
2/29/2020 Все задачи сайта
10 30
9 14 10
13 19 18
14 18 16
18 24 14
24 30 9
17 2005 24
15 20 14

Задача №662
Green Darts
(Время: 1 сек. Память: 16 Мб Сложность: 75%)
В день рождения Вовы родители решили пригласить всех его друзей. После того, как ребята выпили сок и съели
яблочный пирог, они решили поиграть в увлекательную игру Green Darts, правила которой достаточно просты:

В игре принимают участие N человек.


Каждый игрок 3 раза подряд бросает дротик в мишень. Каждый бросок в зависимости от точности может принести
игроку целое количество очков от 0 до 100.
После того, как все броски сделаны, количество очков, набранных каждым игроком по окончанию игры, вычисляется
по следующей формуле:
Si = ai1*p2 + ai2*p + ai3,
где Si – итоговое количество очков, которое набрал i-ый игрок;
aij – количество очков, которое принес i-ому игроку сделанный им j-ый бросок;
p – одинаковое для всех игроков действительное число (0 < p ≤ 1).
Затем для каждого игрока определяется место, которое он занял по окончанию игры. Для этого используется
следующая формула:
Mi = Ki + 1,
где Mi – место, которое занял i-ый игрок по окончанию игры;
Ki – количество игроков, которые набрали большее итоговое количество очков, чем i-ый игрок. Нетрудно видеть, что
несколько игроков могли разделить одно и то же место по окончанию игры.
После этого формируется итог игры. Итог игры – это набор из N целых чисел; i-е число в этом наборе равно месту,
которое занял i-ый игрок по окончанию игры. Два набора из N чисел считаются различными, если существует такое
i, что i-е число в первом наборе не равно i-му числу во втором наборе.

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

Входные данные
Первая строка входного файла INPUT.TXT содержит целое число N – количество участников игры (1 ≤ N ≤ 100).
Каждая из следующих N строк содержит 3 целых числа ai1, ai2, ai3, разделенные одиночными пробелами, определяющие
количество очков, которое принесли i-ому игроку первый, второй и третий броски соответственно (0 ≤ aij ≤ 100). Все числа
целые.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать целое число, равное количеству различных итогов игры, в
зависимости от выбора значения числа p.

Пример
№ INPUT.TXT OUTPUT.TXT
3 3
1 99 1
1
100 100 100
51 49 13

https://acmp.ru/index.asp?main=alltasks 375/591
2/29/2020 Все задачи сайта

Задача №663
Предприимчивый Петя
(Время: 1 сек. Память: 16 Мб Сложность: 72%)
Петя решил организовать у себя в классе чемпионат по решению математических головоломок. В нем изъявили
желание участвовать N человек. Каждый человек при регистрации указывает свое имя, состоящее из маленьких
английских букв. Петя предлагает участникам решить M задач, каждая из которых имеет название, состоящее из больших
английских букв.
Проверку решений задач осуществляет Петя. За каждое решение он ставит некоторое количество баллов и заносит эту
информацию в некоторую базу данных на своем карманном компьютере как строку вида “A-B-C”, где A – имя участника,
который сдал решение на проверку, B – название задачи, решение которой сдал этот участник, C – количество баллов,
полученное решением. На каждую из предложенных задач участник мог сдать не более одного решения, кроме того,
участник мог не сдавать решения некоторых задач. Количество баллов, которое набрал участник в итоге соревнования,
равно сумме баллов, полученных каждым из решений, которые этот участник сдавал на проверку.
После окончания проверки решений Петя обнаружил, что информация в базе данных была повреждена, так как
карманный компьютер, на котором она хранилась, был заражен компьютерным вирусом. А именно, некоторые большие и/
или маленькие английские буквы в строках, которые хранятся в базе данных, могли быть заменены на вопросительные
знаки. В этот момент Петя очень пожалел, что не может заново проверить все работы, так как они у него не сохранились.
Но все же Петя хочет использовать возникшую ситуацию определенным образом. Дело в том, что некоторые из участников
– его хорошие друзья, и он им симпатизирует. Поэтому Петя хочет объявить результаты соревнования таким образом,
чтобы все участники, которым он симпатизирует, набрали в сумме максимальное количество баллов. Однако, объявленные
Петей результаты не должны противоречить информации, которая хранится в базе данных.
Сформулируем условие задачи более точно. Известны имена N человек Name1, …, NameN и названия M задач
Problem1, …, ProblemM. Назовем статусной строкой строку вида “A-B-C”, где A = Namei для некоторого i, B = Problemj для
некоторого j, С – целое неотрицательное число и ‘-‘ – символ с ASCII-кодом 45. Величины A, B и C будем называть
атрибутами статусной строки. Набор статусных строк назовем статусом, если никакие две статусные строки в этом наборе
не имеют одновременно одинаковые атрибуты A и B. Назовем маской статусной строки произвольную строку, символами
которой могут быть большие и маленькие английские буквы, цифры и символы ‘-‘ и ‘?’ (ASCII-код 63). Будем говорить,
что некоторая статусная строка S соответствует маске Q, если в маске Q можно заменить каждый символ ‘?’ на большую
или маленькую английскую букву так, что в результате получится строка S. Произвольный набор масок статусных строк
назовем маской статуса. Будем говорить, что маска статуса MS соответствует статусу ST, если количество масок в MS
равно количеству статусных строк в ST и маски статусных строк из MS и статусные строки из ST можно расположить в
некотором порядке так, что i-я статусная строка в ST будет соответствовать i-й маске в MS. Результатом i-го участника,
вычисленным по статусу ST, назовем целое число, равное сумме значений атрибутов C по всем статусным строкам из ST,
для которых значение атрибута A равно Namei. Множеством симпатий назовем произвольное множество, элементами
которого являются числа от 1 до N. Значением симпатичности статуса ST относительно множества симпатий L будем
называть число, равное сумме результатов i-х участников, вычисленных по статусу ST, по всем i из множества L.
Ваша задача заключается в следующем. Вашей программе на вход подается маска статуса MS и множество симпатий
L. Пусть X – это множество всех статусов, соответствующих маске MS. Необходимо найти максимальное из значений
симпатичности по всем статусам из множества X относительно множества L.

Входные данные
Первая строка входного файла INPUT.TXT содержит целые числа N и M – количества участников и задач
соответственно. Следующие N строк описывают имена участников. В i-й из этих строк записано значение Namei – имя i-го
участника. Следующие M строк описывают названия задач. В j-й из этих строк записано значение Problemj – название j-й
задачи.
В следующей строке записано целое число K – количество строк в исходной маске статуса. В каждой из следующих K
строк записана одна маска статусной строки.
В следующей строке находится целое число P – количество чисел в исходном множестве симпатий. В следующей
строке находятся P различных целых чисел от 1 до N, разделенных одиночными пробелами – элементы исходного
множества симпатий.
Ограничения: 2 ≤ N ≤ 10, 2 ≤ M ≤ 10, Namei – непустая строка из не более 100 маленьких английских букв, Problemj –
непустая строка из не более 100 больших английских букв. Каждая маска статусной строки содержит не более 5 цифр.
Существует хотя бы один статус, соответствующий исходной маске статуса

Выходные данные
https://acmp.ru/index.asp?main=alltasks 376/591
2/29/2020 Все задачи сайта

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

Пример
№ INPUT.TXT OUTPUT.TXT
3 2 160
petr
lexa
sergey
PROBA
PROBB
1 4
lexa-PROBA-100
???g??-?????-0
?e??-PROBA-70
?e??-PROB?-60
2
3 2

Задача №664
Котлеты
(Время: 1 сек. Память: 16 Мб Сложность: 30%)
На сковородке одновременно можно положить k котлет. Каждую котлету нужно с каждой стороны обжаривать m
минут непрерывно. За какое наименьшее время удастся поджарить с обеих сторон n котлет?

Входные данные
В единственной строке входного файла INPUT.TXT записано три натуральных числа: k, m, n, не превышающих 30000.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести единственное число – минимальное время, за
которое можно поджарить все котлеты.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1 1 2
2 2 2 1 4

Задача №665
Палиндромное время
(Время: 1 сек. Память: 16 Мб Сложность: 24%)
Пекарь считает, что для получения рождественского пирога идеальной симметричной формы его нужно вынимать из
духовки в тот момент, когда часы показывают «палиндромное» время, которое читается одинаково слева-направо и справа-
налево.
Напишите программу, которая определяет по времени установки пирога в духовку время, когда будет подходящее
время для его извлечения.

Входные данные
В единственной строке входного файла INPUT.TXT записано время установки пирога в духовку в формате HH:MM
(00 ≤ HH ≤ 23, 00 ≤ MM ≤ 59).

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

https://acmp.ru/index.asp?main=alltasks 377/591
2/29/2020 Все задачи сайта

В единственную строку выходного файла OUTPUT.TXT нужно вывести ближайшее «палиндромное» время в формате
HH:MM.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 00:00 01:10
2 12:34 13:31
3 23:59 00:00

Задача №666
Абракадабра
(Время: 1 сек. Память: 16 Мб Сложность: 41%)
Последовательность из английских букв строится следующим образом. Вначале она пуста. На каждом последующем
шаге последовательность удваивается, после чего к ней слева дописывается очередная буква английского алфавита (a, b, c,
…). Ниже приведены первые шаги построения по-следовательности:
Шаг 1. a
Шаг 2. baa
Шаг 3. cbaabaa
Шаг 4. dcbaabaacbaabaa
…………………………
Требуется написать программу, которая по заданному числу N находит символ, который стоит на N-ом месте в
последовательности, получившейся после 26-го шага.

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

В единственной строке входного файла INPUT.TXT записано число N (1 ≤ N < 226).

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести символ, стоящий в N-й позиции
получившейся последовательности.

Пример
№ INPUT.TXT OUTPUT.TXT
1 4 w

Задача №667
Автобусы - 2
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Для заезда в оздоровительный лагерь организаторы решили заказать автобусы. Известно, что в лагерь собираются
поехать N детей и M взрослых. Каждый автобус вмещает K человек. В каждом автобусе, в котором поедут дети, должно
быть не менее двух взрослых.
Определите, удастся ли отправить в лагерь всех детей и взрослых, и если да, то какое минимальное количество
автобусов требуется для этого заказать.

Входные данные
В единственной строке входного файла INPUT.TXT записано через пробел 3 натуральных числа - N, M и K, каждое из
них не превосходит 10 000.

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

https://acmp.ru/index.asp?main=alltasks 378/591
2/29/2020 Все задачи сайта

В единственную строку выходного файла OUTPUT.TXT нужно вывести количество автобусов, которые нужно
заказать. Если же отправить всех в лагерь невозможно, выведите 0 (ноль).

Примеры
№ INPUT.TXT OUTPUT.TXT
1 10 4 7 2
2 10 4 5 0

Задача №668
Змей Горыныч
(Время: 1 сек. Память: 16 Мб Сложность: 34%)
В некотором царстве жил Змей Горыныч. У него было N голов и M хвостов. Иван-царевич решил уничтожить
губителя человеческих душ, для чего ему его кума Баба Яга подарила волшебный меч, так как только им можно убить Змея
Горыныча. Если отрубить одну голову, то на её месте вырастает новая, если отрубить хвост, то вместо него вырастет 2
хвоста. Если отрубить два хвоста, то вырастает 1 голова, и только когда отрубить 2 головы, то не вырастет ничего. Змей
Горыныч гибнет только в том случае, когда ему отрубать все головы и все хвосты. Определить минимальное количество
ударов мечом, нужное для уничтожения Змея Горыныча.

Входные данные
В единственной строке входного файла INPUT.TXT записаны через пробел два числа N, M (0 ≤ N, M ≤ 1000).

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести одно число – минимальное количество ударов
мечом, или -1, если уничтожить Змея Горыныча невозможно.

Пример
№ INPUT.TXT OUTPUT.TXT
1 3 3 9

Задача №669
Произведение цифр - 3
(Время: 1 сек. Память: 16 Мб Сложность: 39%)
Найти наименьшее и наибольшее натуральные числа, произведение цифр в которых равно заданному натуральному
числу M или сообщить, что таких чисел не существует. Для записи искомых чисел нельзя использовать цифры 0 и 1.

Входные данные
В единственной строке входного файла INPUT.TXT записано натуральное число M (2 ≤ M ≤ 1000).

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести два натуральных числа в неубывающем
порядке. Если таких чисел не существует, то вывести -1 -1.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 12 26 322
2 11 -1 -1

Задача №670
Числа без одинаковых цифр
(Время: 1 сек. Память: 16 Мб Сложность: 25%)
https://acmp.ru/index.asp?main=alltasks 379/591
2/29/2020 Все задачи сайта

Антон записал ряд натуральных чисел в порядке возрастания: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23 и т.д. Затем вычеркнул из него все числа, в которых имеется хотя бы две одинаковых цифры, и получил
последовательность: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23 и т.д.
Вам необходимо по заданному N найти N-ое по счету число в получившейся последовательности.

Входные данные
В единственной строке входного файла INPUT.TXT записано натуральное число N (1 ≤ N ≤ 10000).

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести N-ое по счету число без одинаковых цифр.

Пример
№ INPUT.TXT OUTPUT.TXT
1 100 123

Задача №671
Счастливые числа
(Время: 1 сек. Память: 16 Мб Сложность: 42%)
Все знают, что счастливые числа – это те числа, которые содержат только счастливые цифры 7 и 4. Вам нужно найти
количество счастливых чисел не больших N.

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

В единственной строке входного файла INPUT.TXT записано натуральное число N, не превышающее 1032.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число — ответ на задачу.

Пример
№ INPUT.TXT OUTPUT.TXT
1 56 4

Задача №672
N-значные числа
(Время: 1 сек. Память: 16 Мб Сложность: 32%)
Найти количество N-значных чисел, у которых сумма цифр равна их произведению. Вывести наименьшее среди таких
чисел для заданного N.

Входные данные
В единственной строке входного файла INPUT.TXT записано одно натуральное число N, которое не превышает 10.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести через пробел 2 числа: количество искомых
чисел и наименьшее среди них.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 10 0
2 2 1 22

https://acmp.ru/index.asp?main=alltasks 380/591
2/29/2020 Все задачи сайта

Задача №673
N-значные числа - 2
(Время: 1 сек. Память: 16 Мб Сложность: 52%)
Найти количество N-значных чисел, у которых сумма цифр равна их произведению. Вывести наименьшее среди таких
чисел для заданного N.

Входные данные
В единственной строке входного файла INPUT.TXT записано одно натуральное число N, которое не превышает 20.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести через пробел 2 числа: количество искомых
чисел и наименьшее среди них.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 10 0
2 2 1 22

Задача №674
Выбор приборов
(Время: 1 сек. Память: 16 Мб Сложность: 37%)
Для проведения эксперимента надо выбрать из N имеющихся приборов только три. Для этого выполняют следующую
операцию - если в группе приборов больше трех, то их нумеруют и выбирают одну из групп: с четными или нечетными
номерами. Операцию повторяют до тех пор, пока в группе не останется три или менее приборов. Если их остается ровно
три, то они и берутся для эксперимента.
Требуется написать программу, которая подсчитает количество способов такого выбора приборов.

Входные данные
В единственной строке входного файла INPUT.TXT записано число N (1 ≤ N ≤ 2147483647).

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести одно число - найденное количество способов
выбора приборов.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 1
2 6 2

Задача №675
Детали
(Время: 1 сек. Память: 16 Мб Сложность: 20%)
На клеточном поле N•M расположены две жёсткие детали. Деталь A накрывает в каждой строке несколько (не ноль)
первых клеток, деталь B — несколько (не ноль) последних; каждая клетка либо полностью накрыта одной из деталей, либо
нет.

https://acmp.ru/index.asp?main=alltasks 381/591
2/29/2020 Все задачи сайта

Деталь B начинают двигать влево, не поворачивая, пока она не упрётся в A хотя бы одной клеткой. Определите, на
сколько клеток будет сдвинута деталь B.

Входные данные
В первой строке входного файла INPUT.TXT записано два числа N и M — число строк и столбцов соответственно (1 ≤
N, M ≤ 100). Далее следуют N строк, задающих расположение деталей. В каждой находится ровно M символов "A"
(клетка, накрытая деталью A), "B" (накрытая деталью B) или "." (свободная клетка).

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести одно число — ответ на задачу.

Пример
№ INPUT.TXT OUTPUT.TXT
4 6 1
AA.BBB
1 A....B
AAA..B
A..BBB

Задача №676
Игра со спичками
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Двое играют в следующую игру. Из кучки спичек за один ход игрок вытягивает либо 1, либо 2, либо 1000 спичек.
Выигрывает тот, кто забирает последнюю спичку. Кто выигрывает при правильной игре?

Входные данные
В единственной строке входного файла INPUT.TXT записано одно натуральное число — N (1 ≤ N ≤ 10000) начальное
количество спичек в кучке.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести 1, если выигрывает первый игрок (тот, кто
ходит первым), или 2, если выигрывает второй игрок.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 1
2 3 2

Задача №677
Количество участников олимпиады
(Время: 1 сек. Память: 16 Мб Сложность: 29%)
Как известно, на вопрос о том, сколько у него учеников, древнегреческий учёный Пифагор отвечал так: "Половина
моих учеников изучает математику, четвертая часть изучает природу, седьмая часть проводит время в молчаливом
размышлении, остальную часть составляют 3 девы".

https://acmp.ru/index.asp?main=alltasks 382/591
2/29/2020 Все задачи сайта

Секретарь олимпиады на вопрос: "Сколько участников на олимпиаде по информатике?", отвечал подобно Пифагору:
"K-тая часть участников начала решать первую задачу, M-тая часть – вторую, а N-тая – третью. В то же время D
участников решают проблему: "С чего начать?". Ваша задача определить количество участников олимпиады или вывести
-1, если секретарь ошибся.

Входные данные
В единственной строке входного файла INPUT.TXT записаны числа K, N, M, D (1 ≤ K, N, M, D ≤ 100).

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести одно число - количество участников
олимпиады или вывести -1, если секретарь ошибся.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 4 7 3 28
2 2 2 2 3 -1

Задача №678
Напёрстки
(Время: 1 сек. Память: 16 Мб Сложность: 15%)
Шулер показывает следующий трюк. Он имеет три одинаковых наперстка. Под первый (левый) он кладет маленький
шарик. Затем он очень быстро выполняет ряд перемещений наперстков, каждое из которых – это одно из трех
перемещений - A, B, C:

A - обменять местами левый и центральный наперстки,


B - обменять местами правый и центральный наперстки,
C - обменять местами левый и правый наперстки.

Необходимо определить, под каким из наперстков окажется шарик после всех перемещений.

Входные данные
В единственной строке входного файла INPUT.TXT записана строка длиной от 1 до 50 символов из множества {A, B,
C} – последовательность перемещений.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести номер наперстка, под которым окажется
шарик после перемещений.

Пример
№ INPUT.TXT OUTPUT.TXT
1 CBABCACCC 1

Задача №679
Просто простые числа
(Время: 1 сек. Память: 16 Мб Сложность: 40%)
Дано натуральное число N. Представить его в виде суммы простых натуральных чисел так, чтобы произведение этих
слагаемых было максимально.

Входные данные
В единственной строке входного файла INPUT.TXT записано одно натуральное число N (2 ≤ N ≤ 2 000 000 000).

Выходные данные
https://acmp.ru/index.asp?main=alltasks 383/591
2/29/2020 Все задачи сайта

В единственную строку выходного файла OUTPUT.TXT нужно вывести простые числа по возрастанию с указанием их
количества при разложении, т.е.: <число> <количество>.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 5 2 1 3 1
2 30 3 10

Задача №680
Садовник-художник
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Садовник посадил N деревьев в один ряд. После посадки деревьев садовнику нужно их покрасить. В его
распоряжении есть краска трех цветов: белая, синяя и оранжевая. Сколько способов покраски деревьев есть у него, если
никакие два соседних дерева нельзя красить в одинаковый цвет?

Входные данные
В единственной строке входного файла INPUT.TXT записано одно натуральное число - количество деревьев N (1 ≤ N ≤
50).

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести одно число - количество способов покраски.

Пример
№ INPUT.TXT OUTPUT.TXT
1 3 12

Задача №681
Спички
(Время: 1 сек. Память: 16 Мб Сложность: 43%)
Какое минимальное количество спичек необходимо для того, чтобы выложить на плоскости N квадратов со стороной в
одну спичку? Спички нельзя ломать и класть друг на друга. Вершинами квадратов должны быть точки, где сходятся концы
спичек, а сторонами – сами спички.
Напишите программу, которая по количеству квадратов N, которые необходимо составить, находит минимальное
необходимое для этого количество спичек.

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

В единственной строке входного файла INPUT.TXT записано одно целое число N (1 ≤ N ≤ 109).

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число – минимальное количество
спичек, требуемых для составления заданного количества квадратов.

Пример
№ INPUT.TXT OUTPUT.TXT
1 4 12

Задача №682
Сумма n-значных чисел
(Время: 1 сек. Память: 16 Мб Сложность: 30%)
https://acmp.ru/index.asp?main=alltasks 384/591
2/29/2020 Все задачи сайта

По заданному n найти сумму всех n-значных чисел.

Входные данные
В единственной строке входного файла INPUT.TXT записано одно натуральное число n (1 ≤ n ≤ 100).

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести все цифры суммы всех n-значных чисел.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 45
2 2 4905

Задача №683
Числа - 3
(Время: 1 сек. Память: 16 Мб Сложность: 48%)
Дана последовательность чисел a1, a2, …, aN. За одну операцию разрешается удалить любое (кроме крайних) число,
заплатив за это штраф, равный произведению этого числа на сумму соседних. Требуется удалить все числа, кроме крайних,
с минимальным суммарным штрафом.
Например:

Начальная последовательность: 1 50 51 50 1.
Удаляем четвёртое число, штраф 50(51+1)=2600, получаем 1 50 51 1.
Удаляем третье число, штраф 51(50+1)=2601, получаем 1 50 1.
Удаляем второе число, штраф 50(1+1)=100.
Итого штраф 5301.

Входные данные
В первой строке входного файла INPUT.TXT записано одно число N (1 ≤ N ≤ 100) - количество чисел в
последовательности.
Во второй строке находятся N целых чисел a1, a2, …, aN; никакое из чисел не превосходит по модулю 100.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести одно число - минимальный суммарный
штраф.

Пример
№ INPUT.TXT OUTPUT.TXT
5 5301
1
1 50 51 50 1

Задача №684
Шашки - 2
(Время: 1 сек. Память: 16 Мб Сложность: 27%)
На доске стоит белая шашка. Требуется определить, может ли она попасть в заданную клетку, делая ходы по правилам
(не превращаясь в дамку).

Входные данные
В единственной строке входного файла INPUT.TXT записаны клетка, где стоит шашка, в шахматной нотации, а затем,
через пробел, клетка, куда шашка должна попасть. Начальная и конечная клетки не совпадают. Гарантируется, что

https://acmp.ru/index.asp?main=alltasks 385/591
2/29/2020 Все задачи сайта

стартовая позиция шашки находится на клетке черного цвета.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести слово YES (заглавными буквами), если шашка
может попасть из начальной клетки в конечную, и NO в противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT Комментарии
a1 b2 YES Для выполнения указанного перемещения шашка должна сделать один
1
ход вперед и вправо
2 b2 a1 NO Назад шашка ходить не может
3 a1 h7 NO a1 и h7 - клетки разного цвета
4 a1 h8 YES 7 ходов вправо вверх

Пояснение
Доска имеет размер 8×8, вертикали нумеруются маленькими английскими буквами от a до h, горизонтали - числами от
1 до 8. Белая шашка ходит по чёрным полям по диагонали вверх.

Задача №685
Золотой песок
(Время: 1 сек. Память: 16 Мб Сложность: 10%)
Сотрудники завода по производству золотого песка из воздуха решили поправить свое финансовое положение. Они
пробрались на склад завода, где хранился золотой песок трех видов. Один килограмм золотого песка первого вида они
смогли бы продать за A1 рублей, второго вида – за A2 рублей, а третьего вида – за A3 рублей. Так получилось, что у
сотрудников оказалось с собой только три емкости: первая была рассчитана на B1 килограмм груза, вторая на B2
килограмм, а третья на B3 килограмм. Им надо было заполнить полностью все емкости таким образом, чтобы получить как
можно больше денег за весь песок. При заполнении емкостей нельзя смешивать песок разных видов, то есть, в одну
емкость помещать более одного вида песка, и заполнять емкости песком так, чтобы один вид песка находился более чем в
одной емкости.
Требуется написать программу, которая определяет, за какую сумму предприимчивые сотрудники смогут продать весь
песок в случае наилучшего для себя заполнения емкостей песком.

Входные данные
В единственной строке входного файла INPUT.TXT записано 6 натуральных чисел A1, A2, A3, B1, B2, B3, записанных
в одной строке через пробел. Все числа не превосходят 100.

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

Пример
№ INPUT.TXT OUTPUT.TXT
1 1 2 3 3 2 1 14

Задача №686
Колокол
(Время: 0,4 сек. Память: 16 Мб Сложность: 28%)
Требуется написать программу, которая в массиве из n целых чисел наименьший элемент поместит на первое место,
наименьший из оставшихся – на последнее, следующий по величине – на второе место, следующий – на предпоследнее и
так далее – до середины массива.
https://acmp.ru/index.asp?main=alltasks 386/591
2/29/2020 Все задачи сайта

Входные данные
Во входном файле INPUT.TXT записано в первой строке число n (1 ≤ n ≤ 30000). Во второй строке записаны через
пробел элементы массива, числа по абсолютной величине не большие 32767.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести элементы полученного массива, разделенные
одним пробелом.

Пример
№ INPUT.TXT OUTPUT.TXT
5 1 3 5 4 2
1
1 2 3 4 5

Задача №687
Однонаправленная задача коммивояжёра
(Время: 1 сек. Память: 16 Мб Сложность: 41%)
Задана матрица размером m×n из целых чисел. Путь начинается в любой строке первого столбца и состоит из
последовательности шагов, обрывающихся в столбце n. Каждый шаг состоит в переходе из столбца i в столбец i+1 в
соседнюю (по горизонтали или диагонали) ячейку. Весом пути называется сумма целых чисел, записанных в каждой из n
посещенных ячеек.
Требуется написать программу, которая вычисляет путь с минимальным весом с левого края матрицы до правого.

Входные данные
Входной текстовый файл INPUT.TXT содержит в первой строке количество строк и столбцов матрицы, которые
обозначаются m и n соответственно. Далее следует m строк по n чисел в каждой. Числа отделяются друг от друга
пробелами. Число строк не превышает 10, столбцов – 100. Вес любого пути не будет превышать целого числа, для
хранения которого потребуется больше 30 бит.

Выходные данные
Выходной текстовый файл OUTPUT.TXT должен содержать две строки. Первая строка задает путь минимальной
стоимости, а вторая – соответственно стоимость этого пути. Путь состоит из последовательности n целых чисел
(разделенных одним или более пробелами), задающих номера строк, из которых состоит путь минимальной стоимости.
Если путей минимальной стоимости больше одного, то должен быть выведен лексикографически минимальный путь.

Пример
№ INPUT.TXT OUTPUT.TXT
5 6 1 2 3 4 4 5
3 4 1 2 8 6 16
6 1 8 2 7 4
1
5 9 3 9 9 5
8 4 1 3 2 6
3 7 2 8 6 4

Задача №688
Суслик и собака
(Время: 1 сек. Память: 16 Мб Сложность: 19%)
На большом поле находятся суслик и собака. Собака хочет суслика съесть, а суслик хочет оказаться в безопасности,
добежав до одной из норок, выкопанных в поле. Ни собака, ни суслик в математике не сильны, но, с другой стороны, они и
не беспросветно глупы. Суслик выбирает определенную норку и бежит к ней по прямой с определенной скоростью.
Собака, которая очень хорошо понимает язык телодвижений, угадывает, к какой норке бежит суслик, и устремляется к ней
со скоростью вдвое большей скорости суслика. Если собака добегает до норки первой (раньше суслика), то она съедает
суслика; иначе суслик спасается.

https://acmp.ru/index.asp?main=alltasks 387/591
2/29/2020 Все задачи сайта

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

Входные данные
Во входном файле INPUT.TXT записано в первой строке два числа – координаты суслика. Во второй строке записаны
два числа – координаты собаки. В третьей строке записано число n – число норок на поле. В следующих n строках
записаны координаты норок. Все координаты являются целыми числами, по модулю не превышающими 10000, и
записываются через пробел. Количество норок не превышает 1000.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести число – номер норки, если у суслика есть
возможность в ней спастись. Если у суслика есть возможность спрятаться в нескольких норках, то выведите ту, которая
первая шла во входных данных. Если суслик не может спастись, то выведите в выходной файл «NO» (без кавычек).

Примеры
№ INPUT.TXT OUTPUT.TXT
10 10 NO
20 20
1
1
15 15
20 20 2
10 10
2 2
15 15
25 25

Задача №689
Упрощение номеров
(Время: 1 сек. Память: 16 Мб Сложность: 26%)
Как, Вы не можете запомнить 6 или 7-значный номер телефона, появившийся на секунду на экране телевизора?! С
помощью специальной методики, описываемой далее, Вы превратитесь в ходячий телефонный справочник!
Очевидно, что число 402 запомнить легче, чем число 110010010, а число 337377 запомнить легче, чем число 957472.
Значит, нужно чтобы запоминаемое число, с одной стороны, содержало как можно меньше цифр, а с другой стороны,
желательно, чтобы в числе было как можно больше повторяющихся цифр. В качестве критерия сложности запоминания
примем сумму количества цифр в числе и количества различных цифр в числе. Запоминаемое число можно записать в
другой системе счисления, возможно, тогда его окажется легче запомнить. Например, число 65535 в шестнадцатеричной
системе исчисления выглядит как FFFF. Таким образом, нужно написать программу подбора основания системы счисления
для минимизации критерия сложности. Основание системы счисления нужно выбирать в диапазоне от 2 до 36, тогда для
представления числа можно использовать цифры 0-9 и английские буквы A-Z.

Входные данные
Входной файл INPUT.TXT содержит в первой строке целое число n (1 ≤ n ≤ 100). Далее следует n строк, каждая строка
содержит целое число от 1 до 999999999.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать n строк. Для каждого из n заданных чисел строка содержит:
основание системы счисления (от 2 до 36), минимизирующее критерий сложности запоминания, и число в выбранной
системе исчисления, разделенные одним пробелом. Если несколько оснований дают одинаковое значение критерия, то
выбрать наименьшее среди них.

Пример
№ INPUT.TXT OUTPUT.TXT
1 2 3 2
2 16 FFFF
https://acmp.ru/index.asp?main=alltasks 388/591
2/29/2020 Все задачи сайта
65535

Задача №690
Конная прогулка
(Время: 1 сек. Память: 16 Мб Сложность: 71%)
Требуется выполнить обход прямоугольного поля, перемещаясь в нём по правилам шахматного коня. Начальная
позиция коня определена. Необходимо посетить все клетки без повторных заходов. Гарантируется, что такой обход
возможен.

Входные данные
В первой строке входного файла INPUT.TXT содержится два натуральных числа N и M – размеры поля (6 ≤ N, M ≤
100). Далее следует карта поля: N строк по M символов в каждой строке. Символом «.» (точка) обозначается пустое
пространство, начальная позиция коня задаётся единственным в поле символом «K» (заглавная буква английского
алфавита).

Выходные данные
В выходной файл OUTPUT.TXT выведите матрицу обхода поля, в каждой ячейке которого должен быть вписан номер
шага её посещения (начиная с единицы). Числа следует разделять пробелами, допускается использовать лишние пробелы.
В случае неоднозначного решения следует вывести любое.

Пример
№ INPUT.TXT OUTPUT.TXT
8 8 1 16 27 22 3 18 47 54
K....... 26 23 2 17 46 55 4 19
15 28 25 50 21 48 53 56
........ 24 35 30 45 58 51 20 5
........ 29 14 59 34 49 44 57 52
1 ........ 36 31 38 41 60 63 6 9
........ 13 40 33 62 11 8 43 64
........ 32 37 12 39 42 61 10 7
........
........

Задача №691
Номера автобусов
(Время: 1 сек. Память: 16 Мб Сложность: 16%)
Однажды Вася очень долго просидел на остановке, прежде чем дождался своего автобуса. Чтобы как-то занять время,
он решил записывать на листочке государственные регистрационные номера проходящих мимо автобусов, следующих по
другому маршруту, нежели нужен был Васе. При этом производилась запись лишь основного номера, без учета
региональной принадлежности. В итоге Васе удалось записать N таких номеров.
Основная часть государственного регистрационного номера состоит из 6 символов: трех букв и трех цифр. Сначала
идет буква, затем 3 цифры и еще 2 буквы заканчивают запись. В качестве цифр могут использоваться любые цифры от 0 до
9, а в качестве букв только прописные буквы, обозначения которых присутствуют как в английском, так и в русском
алфавите, т.е. только следующие символы: A, B, C, E, H, K, M, O, P, T, X, Y. Например, «P204BT» - правильный номер, а
«X182YZ» и «ABC216» - нет.
Ваша задача заключается в проверке правильности проделанной Васей работы. А именно, нужно определить, какие из
номеров соответствуют принятому стандарту, а какие нет.

Входные данные
Первая строка входного файла INPUT.TXT содержит единственное натуральное число N – количество записанных
Васей номеров (N ≤ 50). Далее следует N строк с записями номеров автобусов. Длины строк от 1 до 300 и содержат только
символы с кодами ASCII от 33 до 127 (не содержат пробелов, специальных и русских символов).

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

https://acmp.ru/index.asp?main=alltasks 389/591
2/29/2020 Все задачи сайта

В выходной файл OUTPUT.TXT выведите N строк, в i-й строке должно содержаться «Yes», если соответствующая i-я
запись номера верна и «No» в противном случае.

Пример
№ INPUT.TXT OUTPUT.TXT
5 Yes
P204BT No
X182YZ No
1
a216bc Yes
A216BC No
ABC216

Задача №692
Бинарные числа
(Время: 1 сек. Память: 16 Мб Сложность: 8%)
Говорят, что плохой программист – это тот, кто считает, что в одном килобайте 1000 байт, а хороший программист –
это тот, кто полагает, что в одном километре 1024 метра.
Многим эта шутка понятна, так как все знают, что в процессах, связанных с информатикой и компьютерной техникой,
фигурирует множество значений, выражаемых степенью двойки, то есть чисел вида 2K, где K – некоторое
неотрицательное целое число. Назовем такие числа бинарными. Это такие числа как 2, 4, 8, 16, 32 и т.д. Действительно,
когда речь идет о размере памяти или о разрешении экрана монитора, то мы часто наталкиваемся на бинарные числа. Все
это связано с принципом хранения информации в памяти ЭВМ.
Задано целое число N. Требуется определить, является ли оно бинарным.

Входные данные
Входной файл INPUT.TXT содержит единственное целое число N, не превосходящее 10000 по абсолютной величине.

Выходные данные
В выходной файл OUTPUT.TXT выведите YES, если заданное число является бинарным, и NO в противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1024 YES
2 23 NO

Задача №693
Перестановка
(Время: 1 сек. Память: 16 Мб Сложность: 24%)
Если Вы читали Гарри Поттера, то знаете, что повелитель зла, Лорд Волдеморт создал свое имя путем перестановки
букв в своем настоящем имени. Так из имени «Tom Marvolo Riddle» он получил «I am Lord Voldemort».
Напишите программу, которая проверяет, можно ли получить из одного имени другое путем перестановки его букв.
При этом регистром букв нужно пренебречь.

Входные данные
В первой строке входного файла INPUT.TXT записаны два слова, разделенные единственным в строке пробелом.
Слова содержат только символы английского алфавита. Длина слов больше 0 и не превышает 50 символов.

Выходные данные
В выходной файл OUTPUT.TXT выведите «Yes», если возможно получить из одного имени другое, и «No» в
противном случае.

https://acmp.ru/index.asp?main=alltasks 390/591
2/29/2020 Все задачи сайта

Примеры
№ INPUT.TXT OUTPUT.TXT
1 TomMarvoloRiddle IamLordVoldemort Yes
2 stop pots Yes
3 abbc bac No

Задача №694
Лентяй
(Время: 1 сек. Память: 16 Мб Сложность: 21%)
Студент Валера являет собой классический пример лентяя. На занятия он практически не ходит, и только в конце
семестра появляется в университете и сдает ”хвосты”. Его заветная мечта: найти такой день, когда можно будет сдать сразу
все долги. У него есть расписание работы преподавателей, из которого точно известно, с какого и по какой день месяца
каждый преподаватель ежедневно будет доступен.
Помогите Валере написать программу, которая по расписанию будет определять, сможет ли Валера сдать все долги за
один день или нет.

Входные данные
В первой строке входного файла INPUT.TXT содержится натуральное число N – количество предметов, которые
нужно сдать Валере (N ≤ 100). Далее идет N строк, каждая из которых состоит из двух чисел A и B, задающих отрезок
работы очередного преподавателя (1 ≤ A ≤ B ≤ 31).

Выходные данные
В выходной файл OUTPUT.TXT выведите «YES», если возможно встретить всех преподавателей за один день, или
«NO», если это сделать невозможно.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 YES
1
1 2
2 NO
2 1 2
3 4
3 YES
1 8
3
3 5
4 9

Задача №695
Мифические шахматы
(Время: 1 сек. Память: 16 Мб Сложность: 42%)
Ваш друг Вася занимается разработкой компьютерной игры «Мифические шахматы». Он не укладывается в
установленные сроки сдачи проекта.
Вася обратился к друзьям за помощью. Ему необходим модуль, вычисляющий оптимальные пути перемещения фигур
из одной клетки в другую. Так как друзей у Васи много, то каждому досталась маленькая подзадача. Вам требуется
написать программу, определяющую минимальное количество ходов, необходимое кентавру, чтобы добраться из одной
клетки в другую.
В мифические шахматы играют на шахматной доске размером 9х9, угловые клетки которой окрашены в черный цвет.
Кентавр – фигура мифических шахмат, объединяющая в себе свойства коня и слона. Когда кентавр стоит на белой клетке,
он может ходить только как конь, а когда на черной – только как слон. На рисунках приведены варианты ходов для двух
кентавров (буквой «K» отмечено местоположение кентавра, а звездочками – клетки, куда кентавр может сделать ход).

Входные данные
https://acmp.ru/index.asp?main=alltasks 391/591
2/29/2020 Все задачи сайта

В первой строке входного файла INPUT.TXT содержатся координаты (большая английская


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

Выходные данные
В выходной файл OUTPUT.TXT выведите минимальное число ходов, необходимое
кентавру, чтобы добраться из первой клетки во вторую. Если добраться невозможно, то следует
вывести число «-1» (без кавычек).

Примеры

№ INPUT.TXT OUTPUT.TXT
1 H6 E5 2
2 A6 F6 3

Задача №696
Сон
(Время: 1 сек. Память: 16 Мб Сложность: 50%)
Любознательный школьник Петя очень любит программировать. Однажды он настолько увлекся этим делом, что
уснул прямо за компьютером! Пете приснилось, что он попал в альтернативную реальность. Альтернативная реальность
представляет собой прямоугольный лабиринт, который можно изобразить в виде таблицы размером R × C клеток. Чтобы не
опоздать школу, Пете нужно найти выход из лабиринта. Начальная позиция Пети обозначается символом ‘S’, выход из
альтернативной реальности – ‘E’. За один ход Петя перемещается в одну из четырех смежных клеток (влево, вправо, вниз,
вверх). Если клетка занята стеной (символ ‘X’), то Петя пройти в нее не может. В некоторых клетках расположены двери с
замками одного из четырех цветов (‘R’, ‘G’, ‘B’, ‘Y’). Для прохода в эту клетку, необходимо обладать ключом
определенного цвета. Так как ключи многоразовые, то одним ключом можно открыть сколь угодно много
соответствующих ему замков.
Властелин альтернативной реальности предлагает Пете купить ключи, чтобы пройти к выходу. У нашего героя совсем
немного денег с собой, поэтому ему хочется потратить как можно меньше денег и при этом пройти к выходу. Помогите
ему определить минимальную сумму денег, которую нужно потратить на ключи.

Входные данные
Первая строка входного файла INPUT.TXT содержит натуральные числа R и C (R,C ≤ 50). Вторая строка теста
содержит 4 целых числа Pi, стоимости покупки ключей ‘R’, ‘G’, ‘B’ и ‘Y’ соответственно (Pi ≤ 100). Далее следуют R
строк, в каждой из которых C символов, описывающих лабиринт. Каждый лабиринт содержит только один символ ‘S’ и
один символ ‘E’.

Выходные данные
В выходной файл OUTPUT.TXT выведите минимальную сумму денег, необходимую для покупки набора ключей,
позволяющего пройти к выходу. Если пути к выходу из альтернативной реальности не существует, и Петя обречен
проспать уроки, выведите «Sleep».

Примеры
№ INPUT.TXT OUTPUT.TXT
3 7 Sleep
1 1 1 1
1 XXXXXXX
XS.X.EX
XXXXXXX
2 6 6 4
https://acmp.ru/index.asp?main=alltasks 392/591
2/29/2020 Все задачи сайта
1 5 3 1
XXXXXX
XS.X.X
X..R.X
X.XXBX
X.G.EX
XXXXXX

Задача №697
Ремонт
(Время: 1 сек. Память: 16 Мб Сложность: 11%)
Ваш любимый дядя – директор фирмы, которая делает евроремонты в офисах. В связи с финансово-экономическим
кризисом, дядюшка решил оптимизировать свое предприятие.
Давно ходят слухи, что бригадир в дядюшкиной фирме покупает лишнее количество стройматериалов, а остатки
использует для отделки своей новой дачи. Ваш дядя заинтересовался, сколько в действительности банок краски
необходимо для покраски стен в офисе длиной L метров, шириной – W и высотой – H, если одной банки хватает на 16м2, а
размерами дверей и окон можно пренебречь? Заказов много, поэтому дядя попросил написать программу, которая будет
все это считать.

Входные данные
Входной файл INPUT.TXT содержит три натуральных числа L, W, H – длину, ширину и высоту офиса в метрах
соответственно, каждое из которых не превышает 1000.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число – минимальное количество банок краски, необходимых
для покраски стен в офисе.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 8 8 2 4
2 1 1 3 1

Задача №698
Игра в дурака
(Время: 1 сек. Память: 16 Мб Сложность: 36%)
Как Вам уже стало известно, Петя очень любит программировать. Недавно он решил реализовать популярную
карточную игру «Дурак». Но у Пети пока маловато опыта, ему срочно нужна Ваша помощь.
Как известно, в «Дурака» играют колодой из 36 карт. В Петиной программе каждая карта представляется в виде
строки из двух символов, где первый символ означает ранг (‘6’, ‘7’, ‘8’, ‘9’, ‘T’, ‘J’, ‘Q’, ‘K’, ‘A’) карты, а второй символ
означает масть (‘S’, ‘C’, ‘D’, ‘H’). Ранги перечислены в порядке возрастания старшинства.
Пете необходимо решить следующую задачу: сможет ли игрок, обладая набором из N карт, отбить M карт, которыми
под него сделан ход? Для того чтобы отбиться, игроку нужно покрыть каждую из карт, которыми под него сделан ход,
картой из своей колоды. Карту можно покрыть либо старшей картой той же масти, либо картой козырной масти. Если
кроющаяся карта сама является козырной, то её можно покрыть только старшим козырем. Одной картой можно покрыть
только одну карту.

Входные данные
В первой строке входного файла INPUT.TXT находятся два натуральных числа N и M (N ≤ 35, M ≤ 4, M ≤ N), а также
символ R, означающий козырную масть. Во второй строке перечислены N карт, находящихся на руках у игрока. В третьей
строке перечислены M карт, которые необходимо отбить. Все карты отделены друг от друга одним пробелом.

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

https://acmp.ru/index.asp?main=alltasks 393/591
2/29/2020 Все задачи сайта

В выходной файл OUTPUT.TXT выведите «YES» в случае, если отбиться можно, либо «NO» , если нельзя.

Примеры
№ INPUT.TXT OUTPUT.TXT
6 2 C YES
1 KD KC AD 7C AH 9C
6D 6C
4 1 D NO
2 9S KC AH 7D
8D

Задача №699
Грибной дождь
(Время: 1 сек. Память: 16 Мб Сложность: 30%)
На лесной опушке растет дружная семейка грибов. Местоположение каждого гриба задается координатами X, Y, а
шляпка гриба имеет радиус R. Когда идет дождь, радиус шляпки каждого гриба непрерывно и равномерно увеличивается
cо скоростью 1 сантиметр в минуту. Когда дождь заканчивается (а он идет не более Т минут), шляпки прекращают расти.
Если во время дождя шляпки двух грибов соприкоснулись, то они немедленно перестают расти, чтобы не навредить друг
другу. Грибы очень дружные, поэтому если перестают расти два гриба, то и все остальные тоже не растут.
Требуется посчитать, на сколько сантиметров увеличился радиус шляпки каждого гриба после завершения дождя.

Входные данные
Первая строка входного файла INPUT.TXT содержит два натуральных числа: количество грибов K (K ≤ 10) и
длительность дождя T (T ≤ 100). Следующие К строк содержат описание грибов: целые координаты X и Y (0 ≤ X, Y ≤ 100)
и радиус шляпки R (1 ≤ R ≤ 10). Координаты и радиус даны в сантиметрах.

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

Примеры
№ INPUT.TXT OUTPUT.TXT
2 1 0.41
1 0 0 1
2 2 1
3 2 2.00
0 0 1
2
5 5 1
10 10 1

Задача №700
Мёд
(Время: 1 сек. Память: 16 Мб Сложность: 23%)
Все любят сладости и, в частности, мед. Винни-Пух тоже его любит. Каждый день он шел лакомиться медом, а по
дороге домой заходил в гости к Кролику. Но приближалась зима, и Винни-Пух начал задумываться о запасах. Он решил в
течении N дней не лакомиться медом, а собирать полный горшочек объемом V горстей и перекладывать его в бочку. В
первый день своего собирательства он так и сделал. Терпения хватило на один день. А на следующий день он не смог
устоять и по дороге домой съел K горстей меда из горшочка. В каждый следующий день из полного горшочка он съедал на
K горстей больше.
Необходимо определить объем меда, собранного Винни-Пухом на зиму.

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

https://acmp.ru/index.asp?main=alltasks 394/591
2/29/2020 Все задачи сайта

Входной файл INPUT.TXT содержит три натуральных числа N (N ≤ 300), V (V ≤ 107) и K (K ≤ 1000). K – объем, на
который Винни-Пух с каждым днем съедал больше меда.

Выходные данные
В выходной файл OUTPUT.TXT выведите два значения через пробел. Сначала идет строка «NO», если случилось, что
Винни-Пух пришел к Кролику с пустым горшочком и «YES» в противном случае. Второе значение – объем меда,
заготовленного Винни-Пухом на зиму.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 15 100 10 NO 550
2 10 10 1 YES 55

Задача №701
Премия
(Время: 1 сек. Память: 16 Мб Сложность: 25%)
Несмотря на кризис, компания Soft-Soft работает успешно. Директор компании принял решение выплатить
сотрудникам премии. На следующий день был обнародован список счастливчиков. Чтобы не разглашать размер выплат, в
списке напротив фамилий красовались странные цифры и даже буквы. Сотрудники быстро догадались, что размер премий
записан в различных системах счисления. Но где и какая система счисления используется, сообразила только секретарша
Танечка, которая вспомнила, что директор просил ее принести информацию о возрасте сотрудников. Она поняла, что
директор отбрасывал десятки из числа, указывающего возраст, а к оставшимся единицам добавлял число 2. Полученное
значение служило основанием для представления начисленной премии.
Помогите любопытной Танечке узнать размер премий в десятичной системе счисления. Известно, что размер премий
не превышает 100000 рублей в десятичной системе счисления.

Входные данные
В первой строке входного файла INPUT.TXT записаны два целых числа N и K – возраст и размер премии, разделенные
пробелом. Возраст не превышает 100, размер премии указан в некоторой системе счисления (запись числа не содержит
незначащих нулей, использует арабские цифры и заглавные английские буквы).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – размер премии в десятичной системе счисления.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 28 2800 2800
2 30 101 5

Задача №702
Прямоугольники - 2
(Время: 1 сек. Память: 16 Мб Сложность: 45%)
На плоскости расположено несколько прямоугольников. Каждый прямоугольник на плоскости задается координатами
левого нижнего угла (X1, Y1) и правого верхнего угла (X2, Y2), при этом стороны прямоугольников параллельны осям
координат. При наложении друг на друга прямоугольники образуют фигуры, отдельно расположенный прямоугольник -
тоже фигура. Прямоугольники, соприкасающиеся только углами, не образуют фигуру. Если прямоугольники
соприкасаются сторонами, то они тоже образуют фигуру. Требуется определить фигуру максимальной площади.

Входные данные
В первой строке входного файла INPUT.TXT записано количество прямоугольников N (1 ≤ N ≤ 25), далее идут N строк
с координатами вершин прямоугольников X1, Y1, X2, Y2, разделенных пробелом. Координаты вершин - целые,

https://acmp.ru/index.asp?main=alltasks 395/591
2/29/2020 Все задачи сайта

неотрицательные числа, в диапазоне от 0 до 100 включительно.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число – площадь найденной фигуры.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 175
1 15 15 25 25
10 10 20 20
5 14
1 1 6 2
2 1 3 5
2
2 4 7 5
6 2 7 5
8 4 10 7

Задача №703
ACM-шахматы
(Время: 1 сек. Память: 16 Мб Сложность: 54%)
Во многих видах спортивных соревнований имеются различные ритуалы, направленные для примирения
конкурирующих команд или игроков. Это может быть рукопожатие, поклон или даже разбрызгивание шампанского. ACM
(Alliance of Chess Masters) собирается создать свой собственный ритуал, шахматную миниигру, в которой участвует два
игрока в союзе друг с другом (а не как обычно, друг против друга). Игра проходит на шахматной доске размером 3×3, у
каждого из игроков имеется два шахматных коня, которых они должны переместить так, чтобы добраться от одной
позиции до другой (игроки могут делать шаги в любом порядке, не обязательно по очереди). При этом два коня не могут
занимать одну и ту же клетку.
Стартовое и завершающее положения определены судьей. Оказывается, что некоторые такие задачи являются более
трудными, чем другие, а некоторые могут быть даже неразрешимыми - поэтому, некоторые игроки иногда неспособны
закончить ритуал. Ваша задача состоит в том, чтобы написать программу, которая по заданным положениям начальной и
конечной расстановки, сможет определить возможность успешного окончания игры, а в случае успеха сможет так же
определить сложность задачи – минимально возможное количество ходов, необходимых для разрешения данной задачи.

Входные данные
Входной файл INPUT.TXT содержит 3 строки по 7 символов в каждой. Первые 3 символа каждой строки описывают
соответствующую строку шахматной строки для начальной позиции, затем идет пробел и замыкающие 3 символа,
описывающие аналогичным образом строку конечной позиции. Белый конь обозначается символом «W», а черный –
символом «B», пустые клетки помечаются «.» (точка).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число – сложность задачи. Если задача не имеет решения, то
следует вывести -1.

Примеры
№ INPUT.TXT OUTPUT.TXT
WBB ..W 4
1 W.. ..W
... .BB
..B ..B -1
2 W.B ..B
W.. WW.

https://acmp.ru/index.asp?main=alltasks 396/591
2/29/2020 Все задачи сайта

Задача №704
Деление
(Время: 1 сек. Память: 16 Мб Сложность: 40%)
На квадратном торте размером N×N расставлено M свечей. Определить, можно ли одним прямолинейным разрезом
разделить торт на две части, равные по площади, так, чтобы все свечи оказались на одной половине. Свечи считаем
точками. Разрез не может проходить через свечу.

Входные данные
Первая строка входного файла INPUT.TXT содержит число N (1 < N ≤ 100) – длину стороны квадрата. Вторая строка
теста содержит число M (0 < M ≤ 100) – количество свечей на торте. Третья строка – координаты свечей, разделенные
пробелами: X1 Y1 X2 Y2 … Xm Ym (0 < Xi, Yi < N), заданные в системе координат с началом в одном из углов квадрата и
осями – сторонами квадрата. Все исходные данные - целые положительные числа. Координаты всех свечей различны.

Выходные данные
В выходной файл OUTPUT.TXT выведите YES, если такое разделение возможно, или NO в противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
6 YES
1 4
1 1 2 2 1 2 2 1
20 NO
2 10
1 1 2 2 1 2 2 1 10 10 3 4 7 2 3 8 2 11 11 3

Задача №705
Оценка
(Время: 1 сек. Память: 16 Мб Сложность: 65%)
Вася очень любит программировать. Еще он очень любит научную фантастику. Как-то на каникулах, начитавшись
книжек со своим другом Петей, Вася решил вывести формулу, показывающую рост популяции на Марсе. По прикидкам
Васи после N лет жизни планеты популяция марсиан должна составлять SN марсиан, где SN определяется по формуле:

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

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

Входной файл INPUT.TXT содержит число N – возраст планеты Марс и число M - модуль (0 < N, M ≤ 109).

Выходные данные
В выходной файл OUTPUT.TXT выведите ожидаемое число марсиан после N лет жизни планеты по модулю M.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1000 0

https://acmp.ru/index.asp?main=alltasks 397/591
2/29/2020 Все задачи сайта
2 2 1000 2
2 8 427 328

Задача №706
Пушка
(Время: 1 сек. Память: 16 Мб Сложность: 20%)
В начале координат установлена пушка, стреляющая шариками для пинг-понга. На некотором расстоянии R от нее,
параллельно оси ОХ, находится кирпичная стена бесконечной длины. Между стеной и осью OX расположена точечная
цель с координатами (X,Y). Требуется нацелить пушку так, чтобы шарик ударился сначала о стену, а затем попал в цель.
Определите кратчайшее расстояние от оси OY до точки соударения шарика со стеной.

Входные данные
Во входном файле INPUT.TXT содержится три целых числа R, X и Y (-10 ≤ X ≤ 10, 0 ≤ Y< R ≤ 10), разделенных
пробелами.

Выходные данные
В выходной файл OUTPUT.TXT выведите расстояние по прямой линии от оси OY до точки удара шарика о стену с
точностью не худшей, чем два знака после запятой.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 10 5 5 3.33
2 10 10 5 6.67

Задача №707
Zuma
(Время: 2 сек. Память: 16 Мб Сложность: 60%)
Возможно, некоторым из вас знакома игра Zuma о приключениях лягушки. В данной задаче правила похожи и
довольно просты: в каменном жёлобе находится ряд разноцветных шаров; пушка, расположившаяся рядом с жёлобом,
имеет некоторый запас разноцветных шаров и периодически закидывает их в желоб. Заброшенные шары встраиваются в
ряд. Если после выстрела в желобе образуется непрерывная последовательность из трех или более шаров одного цвета,
включающая заброшенный шар, то они исчезают, а соседние шары сдвигаются, смыкая ряд. Если после исчезновения
шаров в месте стыка соседние шары образуют непрерывную последовательность из трех или более шаров одного цвета, то
они также исчезают, и так далее. Цель игры – уничтожить все шары.
Этап Рисунок Пояснение

1 Выстреливается новый шар «B», в позицию после шара №1

После выстрела новый шар образует с соседними


2 последовательность цвета «B», в позициях 2-5. Длина
последовательности ≥3, поэтому шары 2-5 исчезнут

Оставшиеся шары займут позиции 1-3, и поскольку новая


3
последовательность цвета «А» длины ≥3, она тоже исчезнет

Пронумеруем шары слева направо, начиная с единицы. Выстрел шара в позицию n означает, что он появится правее
шара с номером n и окажется в позиции n+1. Номера шаров, расположенных правее прилетевшего шара, увеличиваются на
единицу. Приземление шара левее всего ряда обозначается позицией с номером 0. После исчезновения некоторых шаров,
шары в желобе нумеруются заново слева направо, начиная с единицы.
Требуется написать программу, определяющую оптимальную стратегию стрельбы. Оптимальной стратегией
называется та, при которой наименьшее количество выстрелов приводит к исчезновению всех шаров, а если таких
https://acmp.ru/index.asp?main=alltasks 398/591
2/29/2020 Все задачи сайта

стратегий несколько, то выбирается та, при которой первый выстрел производится как можно левее, а если несколько и
таких, то сравнение идёт по второму выстрелу и т.д.

Входные данные
Входной файл INPUT.TXT содержит описание ряда шаров, цвет каждого шара описывается заглавной буквой
английского алфавита (A..Z). Известно, что длина ряда не превышает 14 шаров, а для уничтожения ряда требуется не более
10 выстрелов, если следовать оптимальной стратегии.

Выходные данные
В выходной файл OUTPUT.TXT выведите строку: сначала минимальное количество выстрелов, затем через пробел
пары буква-число: цвет шара и позицию выстрела. Выстрелы в ответе должны быть перечислены в порядке их следования
в игре.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 ABBBAA 1 B1
2 ACMNEERC 10 A0 A0 C0 M2 M2 N2 N2 E2 R2 R2

Задача №708
Хомяки и кролики
(Время: 1 сек. Память: 16 Мб Сложность: 48%)
В поисках пропитания большая дружная семья кроликов добрела до морковного поля. К сожалению, чуть раньше
сюда же прибыла большая дружная семья голодных хомяков. Во избежание конфликта было решено собирать урожай по
очереди. Поле представляет собой N грядок по M кустов; на каждом кусте растет некоторое количество морковок.
Очередной собирающий стартует от любого куста первой грядки и движется к последней, переходя от одного куста к
другому по следующему правилу: от куста номер K на грядке L можно перейти только на грядку L+1 к одному из трех
кустов с номерами K-1, K, K+1 (конечно, если кусты с такими номерами есть). Каждый посещенный куст очищается от
моркови полностью. Первым на сбор урожая выходит один из кроликов, следом идет хомяк, потом снова кролик и так до
тех пор, пока на поле есть хоть одна морковка.
Кролики суетливы, поэтому они выбирают путь наиболее выгодный внешне: стартуют от самого богатого куста
первой грядки, а из трех последующих вариантов всегда выбирают самый большой куст (при наличии нескольких кустов с
одинаковым числом морковок выбирается куст с наибольшим номером). Хомяки, прибыв на поле раньше, успели
составить подробную карту поля и поддерживают её в актуальном состоянии на основе оперативных данных о сборе
урожая, поэтому они для каждого хомяка выбирают путь, позволяющий собрать максимальное количество морковок из
возможных (при наличии нескольких вариантов с максимально возможным количеством морковок выбирается тот, где
лексикографически больше последовательность номеров кустов в порядке посещения).
По известной карте поля определите, сколько моркови удалось собрать кроликам и хомякам по отдельности.

Входные данные
В первой строке входного файла INPUT.TXT содержится два целых числа N и M (1 ≤ N, M ≤ 100). Следом идут N
строк, в каждой из которых M чисел Xi,j (0 ≤ Xi,j ≤ 10). Xi,j - количество морковок на j-ом кусте i-ой грядки.

Выходные данные
В выходной файл OUTPUT.TXT выведите через пробел два числа: количество морковок, собранных кроликами и
хомяками, соответственно.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 3 7 12
1 1 2
1
1 1 1
10 1 1
2 4 4 18 17
https://acmp.ru/index.asp?main=alltasks 399/591
2/29/2020 Все задачи сайта
1 1 1 2
1 1 1 1
1 1 1 1
10 10 1 1

Задача №709
Булева алгебра
(Время: 1 сек. Память: 16 Мб Сложность: 52%)
В каждом языке программирования, даже самом простом, есть оператор ветвления, позволяющий проверить
истинность логического выражения и, в зависимости от его результата, выполнить то или иное действие. Условие
оператора ветвления представляет собой логическое (булевское) выражение, результатом которого может быть либо истина
(TRUE), либо ложь (FALSE). Переменные, которые могут участвовать в логическом выражении, называются булевскими
(boolean). Булевские переменные могут объединяться в сложные условия при помощи логических операций (функций):

AND(x1,x2,.. xs). Операция «И», возвращает истинное значение, если все ее операнды истинны. (2 ≤ количество
операндов ≤ s);
OR(x1,x2,.. xs). Операция «ИЛИ», возвращает истинное значение, если хотя бы один ее операнд истинен. (2 ≤
количество операндов ≤ s);
NOT(x1). Операция «НЕ», меняет значение операнда х1 на противоположное (операнд всегда один).

В логическом условии может использоваться несколько логических функций, вложенных друг в друга, то есть
результат одной функции может использоваться другой в качестве операнда. Например, AND(A, B, OR(С,D)). Данное
выражение будет истинно тогда, когда истинны А, B и (С или D).
Требуется написать программу, которая по имеющемуся логическому выражению и значению логических переменных
определит результат выражения. Количество операндов у функций AND и OR всегда равно двум (s=2).

Входные данные
Первая строка входного файла INPUT.TXT содержит логическое выражение (длина не более 255 символов). Вторая
строка содержит два числа, разделенных одним или несколькими пробелами: N – количество блоков (не более 10), K -
количество переменных (не более 26). Далее следует N блоков, каждый имеет следующую структуру: состоит из K строк,
каждая содержит выражение типа <переменная = значение>. Переменные задаются заглавными английскими буквами,
значение – константами TRUE или FALSE (заглавные буквы).

Выходные данные
В выходной файл OUTPUT.TXT выведите N строк со значением результата логического выражения для переменных
соответствующего блока.

Примеры
№ INPUT.TXT OUTPUT.TXT
AND(A,NOT(B)) FALSE
1 2
1
A=FALSE
B=TRUE
OR(NOT(AND(A,B)),A) TRUE
3 2 TRUE
A=FALSE TRUE
B=TRUE
2
A=TRUE
B=TRUE
A=FALSE
B=FALSE

Задача №710
Булева алгебра - 2
(Время: 1 сек. Память: 16 Мб Сложность: 57%)

https://acmp.ru/index.asp?main=alltasks 400/591
2/29/2020 Все задачи сайта

В каждом языке программирования, даже самом простом, есть оператор ветвления, позволяющий проверить
истинность логического выражения и, в зависимости от его результата, выполнить то или иное действие. Условие
оператора ветвления представляет собой логическое (булевское) выражение, результатом которого может быть либо истина
(TRUE), либо ложь (FALSE). Переменные, которые могут участвовать в логическом выражении, называются булевскими
(boolean). Булевские переменные могут объединяться в сложные условия при помощи логических операций (функций):

AND(x1,x2,.. xs). Операция «И», возвращает истинное значение, если все ее операнды истинны. (2 ≤ количество
операндов ≤ s);
OR(x1,x2,.. xs). Операция «ИЛИ», возвращает истинное значение, если хотя бы один ее операнд истинен. (2 ≤
количество операндов ≤ s);
NOT(x1). Операция «НЕ», меняет значение операнда х1 на противоположное (операнд всегда один).

В логическом условии может использоваться несколько логических функций, вложенных друг в друга, то есть
результат одной функции может использоваться другой в качестве операнда. Например, AND(A, B, OR(С,D)). Данное
выражение будет истинно тогда, когда истинны А, B и (С или D).
Требуется написать программу, которая по имеющемуся логическому выражению и значению логических переменных
определит результат выражения. Количество операндов у функций AND и OR может быть любым (2 ≤ s ≤ 26).

Входные данные
Первая строка входного файла INPUT.TXT содержит логическое выражение (длина не более 255 символов). Вторая
строка содержит два числа, разделенных одним или несколькими пробелами: N – количество блоков (не более 10), K -
количество переменных (не более 26). Далее следует N блоков, каждый имеет следующую структуру: состоит из K строк,
каждая содержит выражение типа <переменная = значение>. Переменные задаются заглавными английскими буквами,
значение – константами TRUE или FALSE (заглавные буквы).

Выходные данные
В выходной файл OUTPUT.TXT выведите N строк со значением результата логического выражения для переменных
соответствующего блока.

Примеры
№ INPUT.TXT OUTPUT.TXT
AND(A,NOT(B)) FALSE
1 2
1
A=FALSE
B=TRUE
OR(NOT(AND(A,B)),A) TRUE
3 2 TRUE
A=FALSE TRUE
B=TRUE
2
A=TRUE
B=TRUE
A=FALSE
B=FALSE

Задача №711
Соревнование картингистов
(Время: 1 сек. Память: 16 Мб Сложность: 18%)
После очередного этапа чемпионата мира по кольцевым автогонкам на автомобилях с открытыми колесами Формула-
А гонщики собрались вместе в кафе, чтобы обсудить полученные результаты. Они вспомнили, что в молодости
соревновались не на больших болидах, а на картах – спортивных автомобилях меньших размеров.
Друзья решили выяснить победителя в одной из гонок на картах. Победителем гонки являлся тот гонщик, у которого
суммарное время прохождения всех кругов трассы было минимальным.
Поскольку окончательные результаты не сохранились, то каждый из n участников той гонки вспомнил и выписал
результаты прохождения каждого из m кругов трассы. К сожалению, по этой информации гонщикам было сложно
вычислить победителя той гонки. В связи с этим они попросили сделать это вас.

https://acmp.ru/index.asp?main=alltasks 401/591
2/29/2020 Все задачи сайта

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

Входные данные
Первая строка входного файла INPUT.TXT содержит два целых числа n и m (1 ≤ n, m ≤ 100). Последующие 2∙n строк
описывают прохождение трассы каждым из участников. Описание прохождения трассы участником состоит из двух строк.
Первая строка содержит имя участника с использованием только английских букв (строчных и заглавных). Имена всех
участников различны, строчные и заглавные буквы в именах различаются.
Вторая строка содержит m положительных целых чисел, где каждое число – это время прохождения данным
участником каждого из m кругов трассы (каждое из этих чисел не превосходит 1000). Длина каждой строки с именем
участника не превышает 255 символов.

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести имя победителя гонки на картах. Если победителей несколько,
требуется вывести имя любого из них.

Пример
№ INPUT.TXT OUTPUT.TXT
5 3 Vasya
Sumaher
2 1 1
Barikelo
2 1 2
1 Olonso
1 2 1
Vasya
1 1 1
Fedya
1 1 1

Задача №712
Дипломы
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Когда Петя учился в школе, он часто участвовал в олимпиадах по информатике, математике и физике. Так как он был
достаточно способным мальчиком и усердно учился, то на многих из этих олимпиад он получал дипломы. К окончанию
школы у него накопилось n дипломов, причем, как оказалось, все они имели одинаковые размеры: w – в ширину и h – в
высоту.
Сейчас Петя учится в одном из лучших российских университетов и живет в общежитии со своими одногруппниками.
Он решил украсить свою комнату, повесив на одну из стен свои дипломы за школьные олимпиады. Так как к бетонной
стене прикрепить дипломы достаточно трудно, то он решил купить специальную доску из пробкового дерева, чтобы
прикрепить ее к стене, а к ней – дипломы. Для того чтобы эта конструкция выглядела более красиво, Петя хочет, чтобы
доска была квадратной и занимала как можно меньше места на стене. Каждый диплом должен быть размещен строго в
прямоугольнике размером w на h. Прямоугольники, соответствующие различным дипломам, не должны иметь общих
внутренних точек.
Требуется написать программу, которая вычислит минимальный размер стороны доски, которая потребуется Пете для
размещения всех своих дипломов.

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

Входной файл INPUT.TXT содержит три целых числа: w, h, n (1 ≤ w, h, n ≤ 109).

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Пример

https://acmp.ru/index.asp?main=alltasks 402/591
2/29/2020 Все задачи сайта

№ INPUT.TXT OUTPUT.TXT
1 2 3 10 9

Пояснение
Пример расстановки 10 дипломов 2х3 в квадрате 9х9:

Задача №713
Булева функция
(Время: 1 сек. Память: 16 Мб Сложность: 45%)
Недавно на уроке информатики ученики одного из классов изучили булевы функции. Напомним, что булева функция f
сопоставляет значениям двух булевых аргументов, каждый из которых может быть равен 0 или 1, третье булево значение,
называемое результатом. Для учеников, которые выразили желание более подробно изучать эту тему, учительница
информатики на дополнительном уроке ввела в рассмотрение понятие цепного вычисления булевой функции f.
Если задана булева функция f и набор из N булевых значений a1, a2, ..., aN , то результат цепного вычисления этой
булевой функции определяется следующим образом:

если N = 1, то он равен a1;


если N > 1, то он равен результату цепного вычисления булевой функции f для набора из (N–1) булевого значения
f(a1,a2), a3, …, aN, который получается путем замены первых двух булевых значений в наборе из N булевых значений
на единственное булево значение – результат вычисления функции f от a1 и a2.

Например, если изначально задано три булевых значения: a1 = 0, a2 = 1, a3 = 0, а функция f – ИЛИ (OR), то после
первого шага получается два булевых значения – (0 OR 1) и 0, то есть, 1 и 0. После второго (и последнего) шага получается
результат цепного вычисления, равный 1, так как 1 OR 0 = 1.
В конце дополнительного урока учительница информатики написала на доске булеву функцию f и попросила одного
из учеников выбрать такие N булевых значений ai, чтобы результат цепного вычисления этой функции был равен единице.
Более того, она попросила найти такой набор булевых значений, в котором число единиц было бы как можно большим.
Требуется написать программу, которая решала бы поставленную учительницей задачу.

Входные данные
Первая строка входного файла INPUT.TXT содержит одно натуральное число N (2 ≤ N ≤ 100 000). Вторая строка
содержит описание булевой функции в виде четырех чисел, каждое из которых – ноль или единица.
Первое из них есть результат вычисления функции в случае, если оба аргумента – нули, второе – результат в случае,
если первый аргумент – ноль, второй – единица, третье – результат в случае, если первый аргумент – единица, второй –
ноль, а четвертый – в случае, если оба аргумента – единицы.

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести строку из N символов, определяющих искомый набор булевых
значений ai с максимально возможным числом единиц. Если ответов несколько, требуется вывести любой из них. Если
такого набора не существует, выведите в выходной файл фразу «No solution».

Примеры

https://acmp.ru/index.asp?main=alltasks 403/591
2/29/2020 Все задачи сайта

№ INPUT.TXT OUTPUT.TXT
4 1011
1
0110
5 11111
2
0100
6 No solution
3
0000

Пояснение
В первом примере процесс вычисления цепного значения булевой функции f происходит следующим образом: 1011 →
111 → 01 → 1.
Во втором примере вычисление цепного значения булевой функции f происходит следующим образом: 11111 → 0111
→ 111 → 01 → 1.
В третьем примере получить цепное значение булевой функции f, равное 1, невозможно.

Задача №714
Кольцевая автодорога
(Время: 1 сек. Память: 16 Мб Сложность: 65%)
К 2110 году город Флэтбург, являясь одним из крупнейших городов мира, не имеет обходной автомагистрали, что
является существенным препятствием для его развития как крупнейшего транспортного центра мирового значения. В
связи с этим еще в 2065 году при разработке Генерального плана развития Флэтбурга была определена необходимость
строительства кольцевой автомобильной дороги.
В Генеральном плане также были обозначены требования к этой дороге. Она должна соответствовать статусу
кольцевой – иметь форму окружности. Кроме этого, четыре крупные достопримечательности Флэтбурга должны быть в
одинаковой транспортной доступности от дороги. Это предполагается обеспечить тем, что они будут находиться на равном
расстоянии от нее. Расстоянием от точки расположения достопримечательности до дороги называется наименьшее из
расстояний от этой точки до некоторой точки, принадлежащей окружности автодороги.

Дирекция по строительству города Флэтбурга, ответственная за постройку кольцевой автодороги, решила привлечь
передовых программистов для выбора оптимального плана постройки дороги.
Требуется написать программу, которая вычислит число возможных планов постройки кольцевой автомобильной
дороги с соблюдением указанных требований и найдет такой план, для которого длина дороги будет минимальной.

Входные данные
Входной файл INPUT.TXT содержит четыре строки. Каждая из них содержит по два целых числа: xi и yi – координаты
места расположения достопримечательности. Первая строка описывает первую достопримечательность, вторая – вторую,
третья – третью, четвертая – четвертую. Никакие две достопримечательности не находятся в одной точке. Все числа во
входном файле не превосходят 100 по абсолютной величине.

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

https://acmp.ru/index.asp?main=alltasks 404/591
2/29/2020 Все задачи сайта

В первой строке выходного файла OUTPUT.TXT требуется вывести число возможных планов постройки кольцевой
автомобильной дороги. Если таких планов бесконечно много, необходимо вывести в первой строке выходного файла слово
Infinity.
На второй строке требуется вывести координаты центра дороги минимальной длины и ее радиус. Если существует
несколько разных способов построения дороги минимальной длины, необходимо вывести координаты центра и радиус
любой из них. Входные данные таковы, что существует хотя бы один вариант дороги. Координаты центра и радиус дороги
должны быть выведены с точностью не хуже 10-5.

Примеры
№ INPUT.TXT OUTPUT.TXT
0 0 7
0 1 1.5 0.5 1.14412281
1
1 0
2 2
0 0 Infinity
0 1 0.5 0.5 0.0
2
1 0
1 1

Задача №715
Миша и негатив
(Время: 1 сек. Память: 16 Мб Сложность: 17%)
Миша уже научился хорошо фотографировать и недавно увлекся программированием. Первая программа, которую он
написал, позволяет формировать негатив бинарного черно-белого изображения.
Бинарное черно-белое изображение – это прямоугольник, состоящий из пикселей, каждый из которых может быть
либо черным, либо белым. Негатив такого изображения получается путем замены каждого черного пикселя на белый, а
каждого белого пикселя – на черный.
Миша, как начинающий программист, написал свою программу с ошибкой, поэтому в результате ее исполнения мог
получаться некорректный негатив. Для того чтобы оценить уровень несоответствия получаемого негатива исходному
изображению, Миша начал тестировать свою программу.
В качестве входных данных он использовал исходные изображения. Сформированные программой негативы он начал
тщательно анализировать, каждый раз определяя число пикселей негатива, которые получены с ошибкой.
Требуется написать программу, которая в качестве входных данных использует исходное бинарное черно-белое
изображение и полученный Мишиной программой негатив, и на основе этого определяет количество пикселей, в которых
допущена ошибка.

Входные данные
Первая строка входного файла INPUT.TXT содержит целые числа n и m (1 ≤ n, m ≤ 100) – высоту и ширину исходного
изображения (в пикселях). Последующие n строк содержат описание исходного изображения. Каждая строка состоит из m
символов «B» и «W». Символ «B» соответствует черному пикселю, а символ «W» – белому. Далее следует пустая строка, а
после нее – описание выведенного Мишиной программой изображения в том же формате, что и исходное изображение.

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести число пикселей негатива, которые неправильно сформированы
Мишиной программой.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 4 2
WBBW
BBBB
WBBW

https://acmp.ru/index.asp?main=alltasks 405/591
2/29/2020 Все задачи сайта
BWWW
WWWB
BWWB
2 2 2
BW
BB
2
WW
BW

Задача №716
Треугольник Максима
(Время: 1 сек. Память: 16 Мб Сложность: 25%)
С детства Максим был неплохим музыкантом и мастером на все руки. Недавно он самостоятельно сделал несложный
перкуссионный музыкальный инструмент – треугольник. Ему нужно узнать, какова частота звука, издаваемого его
инструментом.
У Максима есть профессиональный музыкальный тюнер, с помощью которого можно проигрывать ноту с заданной
частотой. Максим действует следующим образом: он включает на тюнере ноты с разными частотами и для каждой ноты на
слух определяет, ближе или дальше она к издаваемому треугольником звуку, чем предыдущая нота. Поскольку слух у
Максима абсолютный, он определяет это всегда абсолютно верно.
Вам Максим показал запись, в которой приведена последовательность частот, выставляемых им на тюнере, и про
каждую ноту, начиная со второй, записано – ближе или дальше она к звуку треугольника, чем предыдущая нота. Заранее
известно, что частота звучания треугольника Максима составляет не менее 30 герц и не более 4000 герц.
Требуется написать программу, которая определяет, в каком интервале может находиться частота звучания
треугольника.

Входные данные
Первая строка входного файла INPUT.TXT содержит целое число n – количество нот, которые воспроизводил Максим
с помощью тюнера (2 ≤ n ≤ 1000). Последующие n строк содержат записи Максима, причем каждая строка содержит две
компоненты: вещественное число fi – частоту, выставленную на тюнере, в герцах (30 ≤ fi ≤ 4000), и слово «closer» или
слово «further» для каждой частоты, кроме первой. Частоты fi заданы с точностью, не превышающей 10 цифр после
запятой.
Слово «closer» означает, что частота данной ноты ближе к частоте звучания треугольника, чем частота предыдущей
ноты, что формально описывается соотношением: |fi – fтреуг.| < |fi-1 – fтреуг.| Слово «further» означает, что частота данной
ноты дальше, чем предыдущая. Если оказалось, что очередная нота так же близка к звуку треугольника, как и предыдущая
нота, то Максим мог записать любое из двух указанных выше слов. Гарантируется, что результаты, полученные Максимом,
непротиворечивы.

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести через пробел два вещественных числа – наименьшее и
наибольшее возможное значение частоты звучания треугольника, изготовленного Максимом. Числа следует выводить с
точностью, не худшей 10-6.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 30.0 260.0
440.0
1
220.0 closer
300.0 further
4 531.0 660.0
554.0
2 880.0 further
440.0 closer
622.0 closer

https://acmp.ru/index.asp?main=alltasks 406/591
2/29/2020 Все задачи сайта

Задача №717
Производство деталей
(Время: 2 сек. Память: 32 Мб Сложность: 48%)
Предприятие «Авто-2010» выпускает двигатели для известных во всем мире автомобилей. Двигатель состоит ровно из
n деталей, пронумерованных от 1 до n, при этом деталь с номером i изготавливается за pi секунд. Специфика предприятия
«Авто-2010» заключается в том, что там одновременно может изготавливаться лишь одна деталь двигателя. Для
производства некоторых деталей необходимо иметь предварительно изготовленный набор других деталей.
Генеральный директор «Авто-2010» поставил перед предприятием амбициозную задачу – за наименьшее время
изготовить деталь с номером 1, чтобы представить ее на выставке.
Требуется написать программу, которая по заданным зависимостям порядка производства между деталями найдет
наименьшее время, за которое можно произвести деталь с номером 1.

Входные данные
Первая строка входного файла INPUT.TXT содержит число n (1 ≤ n ≤ 100000) – количество деталей двигателя. Вторая
строка содержит n натуральных чисел p1, p2 … pn , определяющих время изготовления каждой детали в секундах. Время
для изготовления каждой детали не превосходит 109 секунд.
Каждая из последующих n строк входного файла описывает характеристики производства деталей. Здесь i-ая строка
содержит число деталей ki, которые требуются для производства детали с номером i, а также их номера. Сумма всех чисел
ki не превосходит 200000.

Известно, что не существует циклических зависимостей в производстве деталей.

Выходные данные
В первой строке выходного файла OUTPUT.TXT должны содержаться два числа: минимальное время (в секундах),
необходимое для скорейшего производства детали с номером 1 и число k деталей, которые необходимо для этого
произвести. Во второй строке требуется вывести через пробел k чисел – номера деталей в том порядке, в котором следует
их производить для скорейшего производства детали с номером 1.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 300 2
100 200 300 2 1
1 1 2
0
2 2 1
2 5 2
2 3 2 1
2
1 2
0
4 9 3
2 3 4 5 3 2 1
2 3 2
3
1 3
0
2 1 3

Задача №718
Новое слово в рекламе
(Время: 1 сек. Память: 64 Мб Сложность: 71%)
В наши дни предоставление поверхностей заборов и стен промышленных зданий рекламодателям – уже не
оригинальный способ получить дополнительный заработок, а нечто само собой разумеющееся.

https://acmp.ru/index.asp?main=alltasks 407/591
2/29/2020 Все задачи сайта

Небольшая компания «Домострой» также решила выйти на этот рынок и стала предлагать место для рекламы на своих
блоках заборов. Блок представляет собой параллелепипед размером 1×1×L, на одной из сторон которого есть место для
рекламы – пространство размера 1×L, в которое можно вписать ровно L букв английского алфавита.
К сожалению, иногда сделки у компании срывались, и заранее подготовленные блоки с рекламой отправлялись на
склад. Со временем там скопилось приличное количество блоков различных типов (блоки разных типов отличаются друг
от друга только надписью), поэтому было решено использовать их вторично.
Была предложена следующая идея: если поставить несколько блоков друг на друга и закрасить ненужные буквы, то,
читая сверху вниз и слева направо, можно будет прочитать какой-нибудь другой текст, как показано на рисунке.

Таким образом, можно получить рекламную надпись для нового клиента. При этом из эстетических соображений при
прочтении конечной надписи разрывы в виде закрашенных букв недопустимы.
После того, как некоторое число K блоков, каждый из которых имеет длину L, поставили друг на друга, получилась
прямоугольная таблица размером K×L, в каждой клетке которой находится буква английского алфавита. Каждый
рекламный блок соответствует строке этой таблицы. Теперь содержимое этой таблицы выписывается по столбцам, начиная
с самого левого. При этом в каждом столбце буквы выписываются сверху вниз. В случае, изображенном на рисунке, в
результате этого процесса получилась бы строка «TOEIIZENITKN». Необходимо, чтобы рекламная надпись, требуемая
заказчику, входила в получившуюся строку как подстрока «TOEIIZENITKN».
Требуется написать программу, которая будет определять, какое минимальное количество блоков надо использовать,
чтобы получить рекламную надпись, необходимую заказчику. При этом можно считать, что на складе блоков каждого типа
неограниченно много.

Входные данные
Первая строка входного файла INPUT.TXT содержит два натуральных числа N и L – число различных типов блоков на
складе и длина каждого блока соответственно (1 ≤ N ≤ 100, 1 ≤ L ≤ 100). Последующие N строк содержат по одной записи
длиной L, состоящей из строчных английских букв – надписи на блоках соответствующего типа. Надписи на блоках
разных типов не совпадают.
Последняя строка входного файла содержит новую рекламную надпись s – строку, состоящую только из строчных
английских букв (1 ≤ |s| ≤ 200). Можно считать, что на складе находится неограниченное число блоков каждого типа.

Выходные данные
В первой строке выходного файла OUTPUT.TXT необходимо вывести натуральное число K – минимальное количество
блоков, которое нужно использовать для составления новой рекламы. Следующая строка должна содержать K чисел –
номера типов блоков, которые нужно для этого использовать, перечисляя их сверху вниз. Типы блоков нумеруются с
единицы в порядке их задания во входном файле. Если ответов несколько, выведите любой из них. Если решения не
существует, выведите в выходной файл число –1.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 4 3
tiet 1 2 3
1 oink
ezin
zenit
2 2 11 1
sillysample 2

https://acmp.ru/index.asp?main=alltasks 408/591
2/29/2020 Все задачи сайта
happysample
sam
2 3 2
baa 2 2
3
aab
bb
2 3 -1
aaa
4
bbb
cc

Задача №719
Фотограф-псих
(Время: 1 сек. Память: 16 Мб Сложность: 43%)
Пришел как-то раз в гости к фотографу-зануде его двоюродный брат, и начали они спорить о том, кто сколько человек
сфотографировал и кто больше фотографий сделал. После долгого подсчета выяснилось, что фотограф-зануда выиграл.
Брату это, естественно, не понравилось, поэтому он пошел к себе ставить новый рекорд.
Для этого он пригласил к себе N человек и фотографировал их, располагая всеми различными способами вдоль одной
линии. Всего получилось F фотографий.
Разумеется, сделать их за один день он не смог, так как в ближайших магазинах попросту не хватало фотопленки.
Когда же он закончил работу, он приступил к рассылке извещений всем своим клиентам. Каждое извещение помещается в
отдельный конверт и отправляется по адресу прописки клиента.
Помогите фотографу определить число конвертов, которое необходимо закупить, если известно число фотографий F.
Известно также, что число клиентов положительное и не превышает 105.

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

В единственной строке входного файла INPUT.TXT содержится натуральное число F, не превосходящее 10500000.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести одно натуральное число — количество
конвертов для закупки.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 2
2 6227020800 13

Задача №720
Клетки в кругу
(Время: 1 сек. Память: 16 Мб Сложность: 32%)
Дан действительный радиус круга R и размер клетки L на клеточной бумаге. Известно, что центр круга находится на
пересечении линий. Требуется найти число целых клеток, лежащих внутри круга. 0 ≤ R ≤ 25000, 1 < L < 100.

Входные данные
В единственной строке входного файла INPUT.TXT находятся действительное число R, заданное не более чем с 9
цифрами после десятичной точки, и натуральное число L, разделенные пробелом.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести одно натуральное число — количество клеток,
целиком лежащих в кругу.

https://acmp.ru/index.asp?main=alltasks 409/591
2/29/2020 Все задачи сайта

Пример
№ INPUT.TXT OUTPUT.TXT
1 5 1 60

Задача №721
Стрелки - 2
(Время: 1 сек. Память: 16 Мб Сложность: 68%)
Костя нашел головоломку, в которую его дедушка играл в детстве - доску n_m
клеток, на некоторых из которых прикреплены вращающиеся стрелки (Костя
предполагает, что раньше стрелки были на всех клетках). К сожалению, дедушка уже
не помнит, что нужно было сделать в этой головоломке, поэтому Костя придумывает
правила сам.
Он заметил следующую особенность. Направим каждую стрелку на одну из
соседних клеток, на которой тоже есть стрелка (оказалось, что одиноко стоящих
стрелок на доске нет). Теперь на доске появились циклы, идя по которым, мы всегда
будем идти по направлению стрелок. Например, при расстановке, которая отражена на
рисунке, есть четыре цикла.
Костя придумал сразу два задания: «поставить стрелки так, чтобы число циклов было минимально», и «поставить
стрелки так, чтобы число циклов было максимально». Пока Костя ищет решение вручную, напишите программу,
находящую требуемые расстановки.

Входные данные
Входной файл INPUT.TXT содержит Первая строка входного файла содержит числа n и m (1 ≤ n, m ≤ 100). Следующие
n строк по m символов содержат описание доски: символ «?» соответствует клетке со стрелкой, а символ «.» - пустой
клетке.

Выходные данные
В выходной файл OUTPUT.TXT выведите сначала расстановку, в которой число циклов минимально, а затем
расстановку, в которой число циклов максимально. Разделите расстановки одной пустой строкой.
Расстановку стрелок выводите, заменив в описании доски символы «?» на символы, соответствующие направлениям
стрелок. Используйте символы «R», «L», «U» и «D» для обозначения направлений вправо, влево, вверх и вниз
соответственно.

Пример
№ INPUT.TXT OUTPUT.TXT
3 4 RRRD
???? UUDL
???? .UL.
1 .??.
RLDD
RLUU
.RL.

Задача №722
Шоколадки
(Время: 1 сек. Память: 16 Мб Сложность: 60%)
Рома играет сам с собой в очень интересную игру. Для нее нужна коробка конфет, в которой конфеты расположены
прямоугольником n×m штук. В игре участвуют конфеты из темного и белого шоколада. Сначала коробка заполняется
конфетами произвольным образом. Далее Рома повторяет следующие операции. Он находит три конфеты одного цвета,
лежащие рядом (в ряд, или в виде буквы «Г»), съедает их и заполняет освободившиеся места новыми конфетами
произвольным образом. Если же он не находит трех конфет одного цвета, лежащих рядом, то игра заканчивается.

https://acmp.ru/index.asp?main=alltasks 410/591
2/29/2020 Все задачи сайта

Посчитайте, сколько различных комбинаций может остаться на доске (то есть, в коробке) после окончания игры.
Например, если n = 2, m = 3, то может остаться восемь различных комбинаций:

(здесь символами «B» и «W» обозначены конфеты из темного и белого шоколада соответственно)

Входные данные
Входной файл INPUT.TXT содержит два целых числа - n и m. (1 ≤ n, m ≤ 1000).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число - ответ на вопрос задачи.

Пример
№ INPUT.TXT OUTPUT.TXT
1 2 3 8

Задача №723
Доставка грибов
(Время: 1 сек. Память: 16 Мб Сложность: 70%)
Леша работает в службе доставки сушеных грибов. Некоторые клиенты жалуются, что грибы доставляются слишком
долго. Леша хочет проверить, не является ли это следствием неэффективной системы доставки.
Система доставки устроена следующим образом. Существуют n распределительных пунктов, между некоторыми из
которых есть односторонние каналы доставки. Грибы могут быть перевезены из пункта ai в пункт bi за время ti. С
основной базы грибы поступают на пункт номер 1 и далее доставляются до нужного пункта по каналам доставки. Система
каналов довольна сложна, так что есть несколько путей, по которым можно доставить грибы до некоторых пунктов. При
этом никто не следит за тем, чтобы выбранный путь был самым коротким.
Леша хочет узнать для каждого пункта, какое максимальное время до него могут идти грибы от первого пункта при
условии, что на промежуточных пунктах грибы не задерживаются.

Входные данные
В первой строке входного файла INPUT.TXT содержатся числа n и m - количество распределительных пунктов и
количество каналов доставки (2 ≤ n ≤ 100, 1 ≤ m ≤ 10000). Далее следуют m троек ai, bi, ti (ai ≠ bi, 1 ≤ ti ≤ 100).

Выходные данные
В выходной файл OUTPUT.TXT выведите n-1 число – максимальное время доставки грибов до второго, третьего, …,
n-го пункта. Если грибы до пункта могут идти сколь угодно долго, выведите вместо соответствующего числа -1.

Пример
№ INPUT.TXT OUTPUT.TXT
6 7 2 5 6 8 -1
1 2 2
2 3 3
1 3 1
1
3 4 1
4 5 2
5 3 1
3 6 1
https://acmp.ru/index.asp?main=alltasks 411/591
2/29/2020 Все задачи сайта

Задача №724
Убить Вову
(Время: 1 сек. Память: 16 Мб Сложность: 40%)
Таня хочет убить Вову. Разумеется, виртуально. Сначала Вова выбирает одну из n тактик защиты, потом Таня, не зная,
какую тактику выбрал Вова, атакует несколько раз, каждый раз выбирая одну из m тактик нападения. Для каждой тактики
защиты известно, от каких тактик нападения она защищает. Помогите Тане узнать, за сколько атак она может
гарантированно убить Вову и какие тактики нападения ей нужно для этого использовать.

Входные данные
Первая строка входного файла INPUT.TXT содержит два числа - n и m. (1 ≤ n, m ≤ 20). Далее идут n строк по m чисел,
j-е число в i-ой строке равно 1, если тактика защиты i спасает от тактики нападения j и равно 0 в противном случае.

Выходные данные
Выведите в выходной файл OUTPUT.TXT число k - минимальное число атак, за которое можно гарантированно убить
Вову и далее k чисел - номера стратегий нападения, которые нужно использовать. Если Вову убить невозможно, выведите
строку «Impossible».

Примеры
№ INPUT.TXT OUTPUT.TXT
4 5 3
1 0 0 0 0 2 4 5
1 1 1 1 0 1
1 0 1 1 1
1 1 0 1 0
3 3 Impossible
1 1 1
2
0 1 0
0 0 1

Задача №725
Громоотвод
(Время: 1 сек. Память: 16 Мб Сложность: 72%)
В одном маленьком городке летом часто бывают грозы, поэтому
жители решили на крыше одного из зданий установить громоотвод,
защищающий все дома от ударов молнии. Громоотвод защищает
точку в пространстве, если угол φ между направлением от вершины
громоотвода до этой точки и отвесом не превышает некоторого угла
φ0.
Для большей устойчивости громоотвода жители хотят сделать
его минимально возможной высоты (высота измеряется от крыши
дома, на котором устанавливается громоотвод). Помогите жителям найти минимально возможную высоту громоотвода,
защищающего от молнии все здания города.

Входные данные
Первая строка входного файла INPUT.TXT содержит два целых числа: количество зданий n (1 ≤ n ≤ 10) и величину
угла φ0 в градусах (1 ≤ φ0 ≤ 89). Следующие n строк описывают здания. Все здания имеют форму параллелепипедов со
сторонами, параллельными координатным осям (ось z направлена вертикально вверх). Таким образом, каждое здание
описывается пятеркой x1, y1, x2, y2, h, где x1, y1 и x2, y2 - координаты противоположных углов здания, h - его высота. 0 ≤
x1, y1, x2, y2 ≤ 1000, 1 ≤ h ≤ 1000, x1 < x2, y1 < y2, все числа целые.

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

https://acmp.ru/index.asp?main=alltasks 412/591
2/29/2020 Все задачи сайта

В выходной файл OUTPUT.TXT выведите минимально возможную высоту громоотвода, защищающего от молнии все
здания города, с точностью не менее 10-2.

Пример
№ INPUT.TXT OUTPUT.TXT
2 30 4.898979485794484
1 0 0 3 3 1
3 3 4 4 1

Задача №726
Остатки
(Время: 1 сек. Память: 16 Мб Сложность: 55%)
Саша устроился программистом в одну серьезную компанию. Однажды к нему зашел начальник и сказал: «Саша, что
за бред выдает твоя программа? В одном месте у нее получается, что число 3∙n - нечетное, а в другом - что число 5∙n
делится на 10. Ну и как такое может быть? У тебя что, по математике в школе было?». По математике у Саши была твердая
тройка, поэтому, чтобы больше не попадать в такие неприятные ситуации, он просит вас написать программу,
проверяющую, может ли число a∙n давать остаток b по модулю c, и в то же время число d∙n давать остаток e по модулю f.

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

Входной файл INPUT.TXT содержит шесть целых чисел: a, b, c, d, e и f (1 ≤ a, c, d, f ≤ 109, 0 ≤ b ≤ c, 0 ≤ e ≤ f).

Выходные данные
Выведите в выходной файл OUTPUT.TXT строку «YES», если это возможно и «NO» в противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 1 2 5 0 10 NO
2 3 1 2 5 5 10 YES

Задача №727
Распределение участков
(Время: 1 сек. Память: 16 Мб Сложность: 62%)
В одном маленьком городке начинают работать n крупных компаний. Для начала они хотят поделить между собой n
земельных участков. По расчетам экономистов, компания i может получить с участка j доход ai,j . Каждая компания,
разумеется, хочет получить наибольший доход.
Распределением участков занимается лично мэр города. Распределение происходит следующим образом. Каждая
компания сообщает мэру, какой участок ей бы хотелось получить. После этого, если на участок претендует несколько
компаний, то он отдается той из них, которая может получить с него наибольший доход (чем больше доход, тем больше
налогов), а если таких несколько, то той, у которой наименьший номер (меньшие номера, разумеется, имеют знакомые
мэра).
Зная, как происходит распределение, представители компаний решили собраться вместе и решить, кто на какой
участок будет претендовать. Чтобы избежать жульничества, они хотят сделать так, чтобы доход компании не мог
увеличиться, если она отклонится от выбранного плана, а все остальные будут ему следовать.
Оказалось, однако, что найти такой план не так-то просто. Помогите им сделать это.

Входные данные
В первой строке входного файла INPUT.TXT содержится число n (1 ≤ n ≤ 400). Далее идут n строк по n чисел. j-е
число в i-ой строке - это ai,j, доход i-ой компании с j-го участка (1 ≤ ai,j ≤ 109).

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

https://acmp.ru/index.asp?main=alltasks 413/591
2/29/2020 Все задачи сайта

В выходной файл OUTPUT.TXT выведите n чисел. i-е число - это участок, на который должна претендовать i-я
компания. Если ответ не однозначен, выведите любой.

Пример
№ INPUT.TXT OUTPUT.TXT
3 1 3 2
5 4 4
1
5 2 3
2 1 2

Задача №728
Закупка носков
(Время: 1 сек. Память: 16 Мб Сложность: 43%)
В одной военной части было принято революционное решение перейти от портянок к носкам. По такому случаю
прапорщику Недалекому было поручено закупить n пар носков. Однако предложенная прапорщиком смета не
удовлетворила начальство, и прапорщику было предложено очень-очень быстро переделать ее так, чтобы затраты были
минимально возможными. Помогите бедному прапорщику составить такую смету.
Изучение рынка показало, что всего существует m различных поставщиков, которые продают носки разными пачками
и по разным ценам. Пачка, содержащая ai пар носков, продается за bi рублей.
Разрешено покупать любое количество пачек у одного поставщика. Разрешено покупать пачки у нескольких
поставщиков.

Входные данные
В первой строке входного файла INPUT.TXT содержатся числа n и m (1 ≤ n ≤ 10000, 1 ≤ m ≤ 100). Далее идут m пар
чисел ai, bi (1 ≤ ai ≤ 10000, 1 ≤ bi ≤ 10000).

Выходные данные
Выведите в выходной файл OUTPUT.TXT минимальную сумму денег, которую нужно потратить на покупку n пар
носок.

Пример
№ INPUT.TXT OUTPUT.TXT
9 2 8
1 1 1
10 8

Задача №729
Эксперимент
(Время: 1 сек. Память: 16 Мб Сложность: 36%)
Ученые в одной сверхсекретной лаборатории проводят эксперименты над сверхсекретными газами Аккермана. Перед
началом эксперимента у них есть n пронумерованных колб, в которых находятся разные газы. Ученые соединяют колбы
трубками, и содержащиеся в них газы приходят в контакт. Известно, что если в контакт приходят какие-то два газа, то тот
из них, который изначально находился в колбе с большим номером, неимоверно быстро расширяется, уничтожает другой
газ и занимает все освобождающееся пространство.
По заданной последовательности действий, которую проводят ученые, вы должны предсказать результат
эксперимента.

Входные данные
Первая строка входного файла INPUT.TXT содержит количество колб n и количество действий m (0 < n ≤ 10, 0 ≤ m ≤
15). Во второй строке записаны n целых чисел vi (0 < vi ≤ 10) - объемы колб. Каждая из последующих m строк содержит
два различных целых числа от 1 до n - номера колб, соединяемых на соответствующем шаге.

https://acmp.ru/index.asp?main=alltasks 414/591
2/29/2020 Все задачи сайта

Выходные данные
Для каждого из сохранившихся газов выведите в выходной файл OUTPUT.TXT его номер и занимаемый им объем в
отдельной строке. Информацию выводите в порядке увеличения номеров газов.

Пример
№ INPUT.TXT OUTPUT.TXT
5 3 3 30
10 10 10 10 10 5 20
1 1 2
2 3
4 5

Задача №730
Пересылка файлов
(Время: 1 сек. Память: 16 Мб Сложность: 49%)
В постиндустриальную эпоху основной ценностью является информация. Поэтому особо важен контроль над
каналами передачи информации. В одной стране все каналы связи контролируются государством.
Перед ИТ-отделом одной достаточно крупной фирмы, занимающейся консалтингом в области инновационных
технологий, была поставлена задача распространить некий файл по филиалам этой фирмы, находящимся в различных
городах страны.
Каналы передачи информации в этой стране, как уже говорилось, контролируются государством, поэтому за передачу
по ним информации приходится платить деньги. Ситуация также осложняется тем, что каналы однонаправленные, то есть
информацию по ним можно передавать только в одном направлении.
Пусть, для удобства, города пронумерованы натуральными числами от 1 до n. Главный офис находится в городе номер
1, таким образом, необходимо найти такой набор каналов связи, по которым можно доставить файл от города номер 1 до
любого другого, а среди всех таких наборов выбрать имеющий наименьшую суммарную стоимость.
Задан список каналов связи, которыми может воспользоваться фирма. Напишите программу, находящую требуемый
набор каналов связи.

Входные данные
Первая строка входного файла INPUT.TXT содержит числа n и m - количество городов и количество каналов связи
соответственно (1 ≤ n ≤ 22, 0 ≤ m ≤ 22). Последующие m содержат описания каналов связи. Каждое описание содержит три
целых числа: u, v и c - соответственно номера городов, соединенных каналом и стоимость пересылки файла по этому
каналу (1 ≤ u, v ≤ n, 0 ≤ c ≤ 1000). Ни один из каналов не соединяет город с самим собой, но между двумя городами может
быть больше одного канала.

Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите стоимость пересылки файла и число каналов,
обеспечивающих такую стоимость. Во второй строке выведите номера каналов, составляющих такой набор. Каналы
нумеруются от 1 до m в том порядке, в котором они перечислены во входном файле.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 2 3 1
1 1 2 3 1
1 2 4
3 3 14 2
1 2 5 2 3
2
1 3 10
3 2 4

https://acmp.ru/index.asp?main=alltasks 415/591
2/29/2020 Все задачи сайта

Задача №731
Проценты
(Время: 1 сек. Память: 16 Мб Сложность: 33%)
Списки ингредиентов на упаковках иногда сопровождаются их процентным содержанием, чаще всего округленным до
целого числа процентов. Чтобы такой список выглядел правдоподобным, в сумме указанные числа должны давать 100%.
Однако и здесь есть определенные тонкости. Нетрудно убедиться, что, если округлять все дробные числа процентов
по математическим правилам, то результирующая сумма может отличаться от нужной. Поэтому никто не сможет
усомниться в вашей честности, если вы произведете округление так, как сочтете нужным. Осталось только найти лучший
вариант.
Вам заданы количества всех ингредиентов, входящих в состав продукта. Для каждого ингредиента известно,
положительно или отрицательно влияет на продажи его присутствие в составе. По этим данным необходимо рассчитать
процентные доли каждого из ингредиентов от их суммарного количества и округлить их в нужную сторону. При этом не
следует допускать, чтобы одновременно доля какого-либо вредного компонента была округлена вверх, а доля какого-либо
хорошего - вниз.

Входные данные
В первой строке входного файла INPUT.TXT задано количество ингредиентов n (1 ≤ n ≤ 30). Следующие n строк
описывают сами ингредиенты: знак «+» для положительно влияющих на продажи, и «-» для отрицательно влияющих, а
затем, через пробел, количество соответствующего ингредиента - целое число от 1 до 1000.

Выходные данные
В выходной файл OUTPUT.TXT выведите n целых чисел, в сумме дающих 100, по одному на строке - процентные
содержания ингредиентов.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 66
1 - 10 34
+ 5
3 33
- 10 34
2
- 10 33
- 10

Задача №732
Треугольная комната
(Время: 0,4 сек. Память: 16 Мб Сложность: 38%)
Во многих книгах по занимательной математике приводится такая задача. Расставить по периметру треугольной
комнаты 3 стула так, чтобы у каждой стены стояло по 2. Ее решение - поставить по стулу в каждый из углов комнаты.
Эта задача легко обобщается. Пусть комната представляет собой треугольник ABC. Даны: общее количество стульев n,
количество стульев nAB, которое должно стоять у стены AB, количество стульев nBC, которое должно стоять у стены BC,
количество стульев nAC, которое должно стоять у стены AC. Необходимо найти соответствующую расстановку стульев или
установить, что ее не существует. При этом стулья можно ставить только в углы комнаты и вдоль стен, в центр комнаты
стулья ставить нельзя. В любой из углов можно поставить произвольное количество стульев.

Входные данные
Входной файл INPUT.TXT содержит целые числа n, nAB, nBC, nAC (0 ≤ n, nAB, nBC, nAC ≤ 1000).

Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите NO, если стулья указанным способом расставить
невозможно. В противном случае выведите YES в первой строке выходного файла, а во второй выведите 6 целых

https://acmp.ru/index.asp?main=alltasks 416/591
2/29/2020 Все задачи сайта

неотрицательных чисел: kA, kAB, kB, kBC, kC, kAC - соответственно количество стульев, которые необходимо поставить в
угол A, вдоль стены AB, в угол B, вдоль стены BC, в угол C и вдоль стены AC.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 2 2 2 YES
1
1 0 1 0 1 0
2 3 3 2 2 NO

Задача №733
Последовательность - 2
(Время: 1 сек. Память: 16 Мб Сложность: 32%)
Вася написал на доске n целых чисел ai и ушел. Пришел Петя и, увидев Васину последовательность, решил ее немного
изменить. Для этого он решил, что может стирать с доски лишь те числа, у которых имеются слева и справа элементы,
превосходящие их. Формально, Петя может стереть число ak, если существуют значения ai и aj такие, что ai > ak и aj > ak и i
< k < j. Когда на доске не осталось чисел, которые мог стереть Петя, он ушел.
Пришел Вася и очень удивился увиденному. Напишите программу, которая выводит последовательность, которую
увидел Вася.

Входные данные
Первая строка входного файла INPUT.TXT содержит целое число n (1 ≤ n ≤ 10 000) - количество чисел. Следующая
строка содержит n разделенных пробелом целых чисел ai (-106 ≤ ai ≤ 106) - записанные на доске числа.

Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите целое число k - количество оставшихся на доске чисел. На
следующей строке выведите k чисел bi - оставшиеся на доске числа.

Пример
№ INPUT.TXT OUTPUT.TXT
12 8
1
1 2 3 2 4 1 3 4 2 3 2 1 1 2 3 4 4 3 2 1

Задача №734
Строковый компьютер
(Время: 1 сек. Память: 16 Мб Сложность: 61%)
Василий Афанасьев в качестве курсовой работы получил задание - построить компьютер, который бы работал не с
числами, а со строками. Вася для начала фиксировал некоторый алфавит. Обозначим за K количество букв в этом
алфавите. Далее, Вася фиксировал некоторый набор различных строк, длины не более N каждая, который он назвал
базовым. Компьютер умеет работать только со строками, которые получаются конкатенацией (т.е. приписыванием)
некоторых строк из этого набора друг к другу (одну и ту же строку при приписывании можно использовать несколько раз).
Однако оказалось, что исходный базовый набор оказался чрезмерным! Это значит, что в нем была строка, при удалении
которой из набора не изменяется множество строк, с которыми умеет работать компьютер.
Васю заинтересовал вопрос - как много может быть строк в нечрезмерном наборе, и сколько таких максимальных
наборов существует.
Так как его компьютер еще не готов, то он попросил Вас посчитать это число.

Входные данные
Во входном файле INPUT.TXT содержится два целых числа 1 ≤ N ≤ 1 000 и 1 ≤ K ≤ 100 – соответственно
максимальная длина строки и количество символов в алфавите.

https://acmp.ru/index.asp?main=alltasks 417/591
2/29/2020 Все задачи сайта

Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите количество строк в максимальном наборе. Во второй –
количество таких наборов.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1
1
1
3 2 12
2
1

Задача №735
Циклическое k-расширение
(Время: 1 сек. Память: 16 Мб Сложность: 53%)
Вася недавно узнал, что такое циклическое k-расширение строки S. Его можно получить следующим образом: склеить
k экземпляров строки S, а потом взять первые k символов результата.
Узнав это, Вася обрадовался, взял некоторую строку, и начал к ней применять описанную операцию, не запоминая,
какое он каждый раз брал k.
Вам дана часть строки, получившейся у Васи. Ваша задача определить, не ошибся ли Вася в своих сложных
преобразованиях, т. е., мог ли у него из первоначальной строки получиться ответ, содержащий данную строку в качестве
подстроки.

Входные данные
В первой строке входного файла INPUT.TXT находится изначальная строка, которую Вася бережно записал перед тем,
как приступить к своим действиям. Во второй строке находится подстрока результата, полученного Васей. Обе строки не
пусты и по длине не превышают 5 000 символов. Строки могут состоять из больших и маленьких английских букв (с
учетом регистра), а также цифр.

Выходные данные
В выходной файл OUTPUT.TXT выведите "NO", если можно точно сказать, что Вася ошибся, и "YES", если мог и не
ошибиться.

Примеры
№ INPUT.TXT OUTPUT.TXT
abc YES
1
abc
abcd YES
2
bcabc
abcabc NO
3
abcA

Задача №736
Удаление
(Время: 1 сек. Память: 64 Мб Сложность: 45%)
Вася уже долго занимается k-расширениями. Недавно ему это надоело, и он стал изучать следующую операцию на
строках: сначала удаляется каждый k-ый символ строки с начала и до конца (т. е. сначала k-й, потом 2k-й, и т. д., пока
число ik не превосходит длины строки). Потом эта операция повторяется, и так далее, пока в строке есть хотя бы k
символов.
Например, если дана строка длины 10, и K = 2, то сначала будут удалены 2, 4, 6, 8 и 10 символы. Затем будут удалены
2 и 4 символы новой строки, которые соответствуют 3 и 7 символам старой. Затем будет удален 2 символ получившейся
строки - 5 символ старой. Последним будет удален 9 символ старой строки.

https://acmp.ru/index.asp?main=alltasks 418/591
2/29/2020 Все задачи сайта

Собственно, задумал он это все для того, чтобы узнать, какой и когда символ исчезнет. Но когда ему надоело вручную
удалять символы, он решил поручить это Вам. А именно, Вам придется отвечать на его вопросы: "А на какой секунде был
удален i-ый символ строки?" На удаление каждого символа тратится одна секунда.

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

В первой строке входного файла INPUT.TXT находятся три числа: 1 ≤ n ≤ 5•106 - количество символов, которые
написал Вася, число 1 ≤ k ≤ n, и 1 ≤ l ≤ 10 000 - количество вопросов, которые задает Вася. В последующих l строках
указаны номера символов, для которых Вася хочет узнать, когда они были удалены. Все номера лежат в пределах от 1 до n
и могут повторяться.

Выходные данные
В выходной файл OUTPUT.TXT выведите l строк с ответами на вопросы в том порядке, в каком они были во входном
файле. Если окажется, что символ из строки не будет удален никогда, выведите 0.

Пример
№ INPUT.TXT OUTPUT.TXT
10 2 6 0
1 1
2 6
1 3 8
5 5
10 8
5

Задача №737
ДНК
(Время: 2 сек. Память: 32 Мб Сложность: 56%)
Вася никогда не любил биологию. Но когда он узнал про ДНК, у него появился живой интерес. Он решил, что если все
существа произошли друг от друга, то и ДНК у них должны быть похожими. У некоторых более похожие, у некоторых -
менее, но у всех ДНК можно записать в виде строки, состоящей из символов A, C, G и T. Поэтому он решил найти какой-
нибудь показатель родства. И придумал следующее. Он берет из двух ДНК по подстроке. Если одна из них является
анаграммой другой (т. е. получается перестановкой букв), то это хорошая пара подстрок. Естественно, в любой хорошей
паре обе подстроки имеют одинаковую длину. Тогда степень родства двух ДНК – это максимально возможная длина
подстрок в хорошей паре.

Входные данные
В первой строке входного файла INPUT.TXT находится ДНК Васи. А во второй строке - ДНК первого попавшегося
Васе живого существа. Обе строки не пусты и состоят не более, чем из 1 300 символов A, C, G и T.

Выходные данные
В первую строку выходного файла OUTPUT.TXT выведите степень родства Васи с подопытным существом. Если
степень родства отлична от нуля, то во вторую следует вывести две начальные позиции подстрок из соответствующей
хорошей пары в первой и второй ДНК соответственно. В случае неоднозначности последних двух чисел, выведите любые
подходящие.

Примеры
№ INPUT.TXT OUTPUT.TXT
ACGT 3
1
GTC 2 1
ACGT 2
2
CAT 1 1
ACA 2
3
AC 2 1

https://acmp.ru/index.asp?main=alltasks 419/591
2/29/2020 Все задачи сайта

Задача №738
Слова - 2
(Время: 1 сек. Память: 16 Мб Сложность: 74%)
Вася умеет быстро набирать на клавиатуре разные слова. Иногда он делает это так быстро, что в слове меняются
местами какие-то две буквы (не обязательно стоящие подряд). И тогда, если Вася общается в чате, собеседник не всегда
понимает его правильно: ведь, скажем, если Вася набрал «BEATS» и при этом, возможно, поменял местами две буквы, он
мог иметь в виду и «BEATS», и «BEAST», и даже «BETAS». . .
Как хорошо бы было, если бы осмысленные слова нельзя было перепутать, даже если переставить в них какие-то две
буквы! Васю заинтересовала теоретическая сторона этого вопроса. А именно: сколько же можно выделить слов из
заданного набора букв так, чтобы никакие два слова, если в одном из них или даже в каждом переставить две буквы
местами, не стали бы одинаковыми. Например, множество слов «BEAST» и «BETAS» не подходит, потому как из каждого
слова можно перестановкой двух букв получить «BEATS». С другой стороны, «WORDS» и «SWORD» - подходящее
множество: как ни переставляй пару букв в одном и в другом слове, одинаковую последовательность не получить.
Вася хочет по набору букв выяснить, какое максимальное количество слов, являющихся перестановками букв этого
набора, можно объявить осмысленными, чтобы никакие два из них нельзя было перепутать, переставив пару букв в одном
или в обоих словах. Помогите ему справиться с этой задачей.

Входные данные
В первой строке входного файла INPUT.TXT записаны подряд пять заглавных букв английского алфавита.

Выходные данные
В выходной файл OUTPUT.TXT выведите максимальное по размеру множество слов, являющихся перестановками
данного набора букв, которые можно объявить осмысленными, чтобы их нельзя было перепутать. Слова следует выводить
по одному на строке. Если таких множеств несколько, разрешается вывести любое из них.

Пример
№ INPUT.TXT OUTPUT.TXT
TATRA TATRA
1
ARATT

Задача №739
Дана строка
(Время: 1 сек. Память: 16 Мб Сложность: 37%)
Васе уже надоели задачи на строки! А Вам? А что делать? Что ж, приступим. Дана строка из маленьких букв
английского алфавита. Разрешается любой ее символ сдвинуть не более, чем на K позиций в любую сторону так, чтобы в
конечном счете они все встали на разные позиции (кроме случая, когда K=0). Например, если строка - aababac, а K = 2, то
таким образом можно получить строки abaaabc или aaaabbc, но нельзя - aaacbab или aaaacbb.
Вася хочет сделать так, чтобы получившаяся с помощью такой операции строка была минимально возможной
лексикографически (т.е. расположена раньше всех по правилам упорядочивания слов в словаре). Как же ему быть?

Входные данные
В первой строке входного файла INPUT.TXT задано число K (K ≥ 0). Во второй строке задана сама исходная непустая
строка, длиной не более 100 000 маленьких английских букв. Гарантируется, что K не превосходит длины строки.

Выходные данные
В выходной файл OUTPUT.TXT выведите лексикографически минимальный из возможных результатов.

Пример
№ INPUT.TXT OUTPUT.TXT
1 2 aaaabbc

https://acmp.ru/index.asp?main=alltasks 420/591
2/29/2020 Все задачи сайта
aababac

Задача №740
Ключи
(Время: 5 сек. Память: 32 Мб Сложность: 61%)
Для доступа в лаборатории НИИ Исследований Данных Строк используются ключи в виде прямоугольных карточек
N×M, в которых вырезаны дырки. Эти ключи можно вставлять только одним способом (то есть ни поворачивать, ни
переворачивать нельзя). При этом дырки имеют прямоугольную форму. К Васе попало два ключа от разных лабораторий.
Он решил их наложить друг на друга так, чтобы получившаяся фигура имела максимальное количество дырок (просветов).
При этом исходно ключи лежали в том положении, в котором их необходимо вставлять в замок, а Вася не хочет их
поворачивать. Помогите Васе определить максимальное число дырок. При наложении считаются только те дырки,
внутренности которых не пусты.

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

Первая строка входного файла INPUT.TXT содержит два целых числа - 1 ≤ N, M ≤ 109 - длины сторон ключа. Вторая
строка содержит единственное целое число - 1 ≤ K1 ≤ 500 - число дырок в первом ключе. Далее в K1 строках написано по
четыре целых числа - X1, Y1, X2, Y2 (0 ≤ X1 < X2 ≤ N, 0 ≤ Y1 < Y2 ≤ M) – координаты углов соответствующих
прямоугольных дырок. Дырки в ключе не пересекаются и не касаются.
Далее следует описание второго ключа в таком же формате.

Выходные данные
В выходной файл OUTPUT.TXT выведите единственное целое число - максимальное количество дырок, которое
может получить Вася.

Примеры
№ INPUT.TXT OUTPUT.TXT
10 10 1
1
1 1 1 2 2
1
1 1 2 2
10 10 1
2
1 1 2 2
2
3 3 4 4
1
1 1 2 2
10 10 2
2
1 1 2 2
3
3 3 4 4
1
1 1 3 3

Задача №741
Замечательные дороги
(Время: 1 сек. Память: 16 Мб Сложность: 62%)
В одной замечательной стране живут замечательные люди. По исследованиям замечательного правительства,
большинство граждан на выходных садятся в машину, выбирают циклический маршрут между некоторыми городами и
деревнями без повторяющихся населенных пунктов и катаются по этому маршруту, пока не надоест. Некоторые, правда,
катаются по своему городу и никуда не выезжают.
Так как правительство заботится о своих гражданах, оно хочет сделать их выходные максимально красочными. По
этой причине недавно было принято решение покрасить каждую дорогу между населенными пунктами в какой-нибудь
цвет. Причем так, чтобы ни на каком "выходном" маршруте не было дорог одинакового цвета. Но так как цветов могло
https://acmp.ru/index.asp?main=alltasks 421/591
2/29/2020 Все задачи сайта

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

Входные данные
В первой строке находятся два числа: 1 ≤ n ≤ 50 000 - количество городов и деревень в стране и 1 ≤ m ≤ 100 000 -
количество дорог. В m последующих строках находится по два числа – номера населенных пунктов, концов дороги. Ни
одна дорога не ведет из города в себя, и между двумя населенными пунктами не может быть более одной дороги. Все
дороги двусторонние.

Выходные данные
В первой строке выведите минимальное количество цветов. В последующих m строках выведите по три числа: два
конца дороги в любом порядке и ее цвет. Дороги разрешается выводить в произвольном порядке.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 1 1
1
1 2 2 1 1
3 2 1
2 1 2 2 3 1
2 3 1 2 1
3 3 3
1 2 1 2 1
3
2 3 3 2 2
3 1 3 1 3

Задача №742
Постройка дорог
(Время: 1 сек. Память: 16 Мб Сложность: 33%)
В известном городе Кызылорда, где находятся N центров, живет некий граф - Азамат. Он желает узнать количество
различных построек дорог между ними, если известно, что два центра могут быть связаны в одном из двух направлений
или не связаны вообще. Например, при N=2 все получается 3 варианта:

1. оба центра не связаны


2. дорога идет из первого во второй центр
3. дорога идет из второго в первый центр

Входные данные
Во входном файле INPUT.TXT записано единственное натуральное число - количество центров в городе, 2 ≤ N ≤ 100.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести число всевозможных построек дорог.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 3
2 4 729

Задача №743
Алхимия
(Время: 1 сек. Память: 16 Мб Сложность: 42%)
Алхимики средневековья владели знаниями о превращении различных химических веществ друг в друга. Это
подтверждают и недавние исследования археологов.

https://acmp.ru/index.asp?main=alltasks 422/591
2/29/2020 Все задачи сайта

В ходе археологических раскопок было обнаружено m глиняных табличек, каждая из которых была покрыта
непонятными на первый взгляд символами. В результате расшифровки выяснилось, что каждая из табличек описывает
одну алхимическую реакцию, которую умели проводить алхимики.
Результатом алхимической реакции является превращение одного вещества в другое. Задан набор алхимических
реакций, описанных на найденных глиняных табличках, исходное вещество и требуемое вещество. Необходимо выяснить:
возможно ли преобразовать исходное вещество в требуемое с помощью этого набора реакций, а в случае положительного
ответа на этот вопрос — найти минимальное количество реакций, необходимое для осуществления такого преобразования.

Входные данные
Первая строка входного файла INPUT.TXT содержит целое число m (0 ≤ m ≤ 1000) – количество записей в книге.
Каждая из последующих m строк описывает одну алхимическую реакцию и имеет формат вещество1 -> вещество2, где
вещество1 – название исходного вещества, вещество2 – название продукта алхимической реакции. m+2-ая строка входного
файла содержит название вещества, которое имеется исходно, m+3-ая – название вещества, которое требуется получить.
Во входном файле упоминается не более 100 различных веществ. Название каждого из веществ состоит из строчных и
заглавных английских букв и имеет длину не более 20 символов. Строчные и заглавные буквы различаются.

Выходные данные
В выходной файл OUTPUT.TXT выведите минимальное количество алхимических реакций, которое требуется для
получения требуемого вещества из исходного, или -1, если требуемое вещество невозможно получить.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 2
Aqua -> AquaVita
AquaVita -> PhilosopherStone
AquaVita -> Argentum
1
Argentum -> Aurum
AquaVita -> Aurum
Aqua
Aurum
5 -1
Aqua -> AquaVita
AquaVita -> PhilosopherStone
AquaVita -> Argentum
2
Argentum -> Aurum
AquaVita -> Aurum
Aqua
Osmium

Задача №744
Скобочки-3
(Время: 1 сек. Память: 16 Мб Сложность: 46%)
Напомним, что называется правильной скобочной последовательностью:
Циклическим сдвигом строки s называется строка sksk+1sk+2...s|s|s1s2...sk−1 для некоторого k, где |s| — длина строки s.

Вам дана скобочная последовательность s — строка, состоящая из символов {, }, (, ), [, ]. Выясните, является ли s


циклическим сдвигом правильной скобочной последовательности.

Входные данные
В первой строке входного файла INPUT.TXT записана строка s (длина строки s не превышает 1000).

Выходные данные
В выходной файл OUTPUT.TXT выведите «YES», если s является циклическим сдвигом правильной скобочной
последовательности, иначе – выведите "NO".

https://acmp.ru/index.asp?main=alltasks 423/591
2/29/2020 Все задачи сайта

Примеры
№ INPUT.TXT OUTPUT.TXT
1 }()[]{ YES
2 }([)]{ NO
3 ()][ YES

Задача №745
Карта
(Время: 1 сек. Память: 16 Мб Сложность: 53%)
Одним из разделов функционального анализа является теория сжимающих операторов. Важным фактом, который в
ней доказывается, является теорема Банаха. Она гласит, что у оператора сжатия есть ровно одна неподвижная точка.
Интересным следствием из этой теоремы является следующее утверждение. Пусть есть карта небольшой части
поверхности Земли (поверхность считается плоской). Если карту положить в некотором месте той части поверхности,
которую она изображает, то будет существовать ровно одна точка, изображение которой на карте лежит на ней.
Для удобства будем считать, что изображенная на карте часть поверхности Земли имеет форму прямоугольника со
сторонами 2W и 2H метров. Введем прямоугольную декартову систему координат так, что ось Ox направлена с запада на
восток, а ось Oy – с юга на север. Единичный отрезок выберем равным одному метру. Кроме этого, поместим начало
координат в центр рассматриваемой части поверхности Земли, а стороны рассматриваемого прямоугольника параллельны
осям координат. Расположим карту размером 2a на 2b сантиметров так, что ее центр находится в точке с координатами (x,
y). Таким образом, изображенная на карте поверхность Земли имеет форму прямоугольника с углами (W, H ), (−W, H ),
(−W, −H), (W, −H), а углы карты расположены в точках (x +a/100, y+b/100), (x –a/100, y+b/100), (x –a/100, y−b/100), (x
+a/100, y−b/100).
Найдите точку, изображение которой лежит на ней при таком расположении карты.

Входные данные
Входной файл INPUT.TXT содержит целые числа W, H, x, y, a, b (1 ≤ W, H, x, y, a, b ≤ 1000). Гарантируется, что карта
целиком лежит внутри той части поверхности Земли, которая на ней изображена.

Выходные данные
В выходной файл OUTPUT.TXT выведите координаты искомой точки с точностью до 10−6.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 10 10 0 0 5 5 0.0 0.0
2 10 10 1 1 5 10 1.0050251256281408 1.0101010101010102

Задача №746
Гонки
(Время: 2 сек. Память: 16 Мб Сложность: 64%)
В области L находится n городов. Некоторые пары городов соединены проселочной дорогой с двусторонним
движением. Начавшись в каком-то городе, дорога не может закончиться в нем же. В этом году состояние дорог позволило
отделению ГИБДД области L провести гонки под лозунгом «Скажем НЕТ нарушениям скоростного режима». Было
решено, что круговая трасса должна состоять из четырех дорог, но не может проходить через один город два раза.
Естественно, свернуть с одной дороги на другую можно только в городе. Организаторы уже должны приступить к
составлению отчета, и для этого требуется посчитать количество различных трасс.

Входные данные
В первой строке входного файла INPUT.TXT записаны количество городов n (1 ≤ n ≤ 300) и количество дорог m. В
каждой из следующих m строк содержится два различных числа — номера городов, соединенных соответствующей
дорогой.

https://acmp.ru/index.asp?main=alltasks 424/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – количество круговых трасс из четырех дорог, которые могут
составить организаторы.

Пример
№ INPUT.TXT OUTPUT.TXT
4 6 3
1 2
2 3
1 3 4
4 1
1 3
2 4

Задача №747
Декомпозиция строки
(Время: 3 сек. Память: 16 Мб Сложность: 65%)
Для строки T и целого числа n определим n-ю степень строки Tn как конкатенацию n копий строки T. Например, aab4
= aabaabaabaab.

Любая строка S может быть представлена в виде разложения S = S1d1S2d2 ... Skdk. Вообще говоря, такое разложение
может быть не единственным. Весом разложения строки S в указанном виде назовем сумму |S1| + |S2| + . . . + |Sk|, где |Z|
означает длину строки Z.
По заданной строке S найдите ее разложение с минимальным весом.

Входные данные
Входной файл INPUT.TXT содержит строку S. S состоит из заглавных английских букв и имеет длину не более 5000.

Выходные данные
Первая строка выходного файла OUTPUT.TXT должна содержать w – минимальный возможный вес разложения
строки S. Пусть k – число элементов в таком разложении. Тогда следующие k строк должны содержать элементы
разложения: строку Si и степень di, разделенные ровно одним пробелом.

Если существует несколько оптимальных решений, выведите любое из них.

Пример
№ INPUT.TXT OUTPUT.TXT
ABABAAABABA 5
AB 2
1
A 3
BA 2

Задача №748
Собери сам
(Время: 3 сек. Память: 16 Мб Сложность: 79%)
Компания «Ёжики-Хрюшечки» готовит новый конструктор «Собери сам» для детей младшего школьного возраста.
Одна из главных составных частей конструктора – электронное устройство, для работы которого надо соединить набор
клемм на специальной доске проводами.
Провода, которыми требуется выполнить соединение, имеют топологическую структуру дерева, в вершинах которого
расположены контакты, подключаемые к клеммам. В свою очередь, доска имеет изображенную на ней схему укладки
проводов, поэтому на первый взгляд кажется, что подключить устройство очень просто. Однако, к сожалению, все

https://acmp.ru/index.asp?main=alltasks 425/591
2/29/2020 Все задачи сайта

контакты на проводах, кроме одного выделенного, подключаемого к «корню» дерева, одинаковые, поэтому понять какой
контакт куда подключить непросто.
Например, рассмотрим изображенную на рисунке схему.

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

Разработчики из компании «Ёжики-Хрюшечки» не хотят, чтобы у схемы было несколько возможных подключений.
Конечно, можно было бы пометить каждый контакт и каждую клемму уникальным кодом, чтобы ясно было что куда надо
подключить, но тогда игра получилась бы не слишком интересной. Поэтому они решили раскрасить клеммы и контакты в
разные цвета, так, чтобы были выполнены следующие условия:

1. контакт и клемма, которые необходимо соединить, раскрашены в один цвет;


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

Разумеется, разработчики хотели бы использовать по возможности меньшее число цветов. Например, для схемы,
изображенной на рисунке выше, достаточно двух цветов:

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

Входные данные
Первая строка входного файла INPUT.TXT содержит число n – количество вершин дерева (1 ≤ n ≤ 500). Пусть
вершины дерева пронумерованы числами от 1 до n, так что номер родителя вершины меньше ее номера. Корень дерева
имеет номер 1. Вторая строка входного файла содержит n-1 число, для каждой вершины, начиная со второй, указан номер
ее родителя.

Выходные данные
Первая строка выходного файла OUTPUT.TXT должна содержать число k – минимальное необходимое количество
цветов. Следующая строка должна содержать n целых чисел – цвета вершин.

Пример
№ INPUT.TXT OUTPUT.TXT
1 9 2
https://acmp.ru/index.asp?main=alltasks 426/591
2/29/2020 Все задачи сайта
1 2 2 4 1 6 7 6 1 1 1 1 1 2 1 1 1

Задача №749
Неправильный RSA
(Время: 3 сек. Память: 16 Мб Сложность: 64%)
Рома, Сережа и Андрюша решили улучшить знаменитый алгоритм шифрования RSA. Они решили, что в RSA в
качестве модуля можно использовать в качестве числа n не только произведение двух простых чисел, но и произведение
вида n = pkqk, где p и q – простые числа, а k – некоторое натуральное число.
Однако Коля указал, что помимо различных математических трудностей, новая схема может оказаться менее
устойчивой к взлому. А именно, большое число, равное произведению двух различных простых чисел, тяжело разложить
на множители, в частности, поскольку у него существует ровно одно нетривиальное разложение. А у числа вида n = pkqk
их может быть больше. Например, у числа 100 = 22•52 есть целых восемь нетривиальных разложений на множители: 2•50,
2•2•25, 2•2•5•5, 2•5•10, 4•25, 4•5•5, 5•20 и 10•10.
Теперь Рома, Сережа и Андрюша думают – сколько же различных нетривиальных разложений на множители есть у
числа n = pkqk?

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

Входной файл INPUT.TXT содержит число n (6 ≤ n ≤ 1018, гарантируется, что n = pkqk для различных простых p и q и
натурального k).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число — количество нетривиальных разложений на множители числа
n.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 6 1
2 100 8

Задача №750
Игра на графе
(Время: 5 сек. Память: 16 Мб Сложность: 81%)
Наташа и Петя любят играть в следующую игру на лекциях по теории сложности. Они рисуют неориентированный
двудольный граф G на листе бумаги и ставят фишку в одну из его вершин. После этого они делают ходы по очереди,
Наташа ходит первой. Ход в игре заключается в том, что фишка перемещается по графу вдоль одного из ребер. После хода
вершина, в которой фишка находилась перед ходом, а также все инцидентные ей ребра, удаляются из графа. Игрок,
который не может сделать ход, проигрывает.
Вам задан граф, который нарисовали Наташа и Петя. Для каждой вершины графа определите, кто выиграет при
оптимальной игре обоих игроков, если фишка будет исходно размещена в этой вершине.

Входные данные
Первая строка входного файла INPUT.TXT содержит три целых числа: n1, n2 и m – количество вершин в первой и
второй доле, соответственно, а также количество ребер в графе (1 ≤ n1, n2 ≤ 500, 0 ≤ m ≤ 50 000). Следующие m строк
описывают ребра – каждая строка содержит по два числа – номера вершин, соединенных соответствующим ребром.
Вершины в каждой доле независимо пронумерованы, начиная с 1.

Выходные данные
В выходной файл OUTPUT.TXT выведите две строки. Первая строка должна содержать n1 символов, i-й символ
должен быть 'N', если при исходном расположении фишки в i-й вершине первой доли, выигрывает Наташа и 'P', если
выигрывает Петя. Вторая строка должна описывать вершины второй доли аналогичным образом.

https://acmp.ru/index.asp?main=alltasks 427/591
2/29/2020 Все задачи сайта

Пример
№ INPUT.TXT OUTPUT.TXT
3 3 5 NPP
1 1 NPP
1 2
1
1 3
2 1
3 1

Задача №751
Money, money, money
(Время: 1 сек. Память: 16 Мб Сложность: 31%)
Правительство Флатландии решило провести реформу денежной системы. Цель реформы – радикально уменьшить
число банкнот в обращении, в результате их должно остаться ровно две. Таким образом, после реформы во Флатландии
будут циркулировать банкноты достоинством a тугриков и b тугриков, где a и b поручено выбрать министерству финансов.
Одна из проблем заключается в том, что президент Флатландии ненавидит число x. Поэтому министр финансов
решил, что выберет такие a и b, что нельзя будет заплатить ровно x тугриков без сдачи. С другой стороны, для любой
суммы большей x должна быть возможность заплатить ее без сдачи.
Итак, вам поручено выбрать соответствующие a и b.

Входные данные
Входной файл INPUT.TXT содержит натуральное число x, не превосходящее 1012.

Выходные данные
В выходной файл OUTPUT.TXT выведите два целых числа a и b такие, что сумму в x тугриков нельзя заплатить
банкнотами в a и b тугриков без сдачи, а любую большую сумму – можно. Если решения не существует, выведите в
выходной файл два нуля.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 2 5
2 4 0 0
3 5 3 4

Задача №752
2-3 Дерево
(Время: 3 сек. Память: 16 Мб Сложность: 61%)
2-3 дерево — элегантная структура данных, изобретенная Джоном Хопкрофтом. Она предназначена для
использования с той же целью, что и двоичное дерево поиска. 2-3 дерево представляет собой дерево с корнем, которое
обладает следующими свойствами:

корень и каждая внутренняя вершина имеет либо 2 либо 3 ребенка;


глубина всех листьев одна и та же.

Единственное исключение — это когда дерево содержит ровно одну вершину. В этом случае корень дерева является и
листом, и поэтому не имеет детей. Основная суть приведенных свойств в том, что дерево с l листьями имеет высоту O(log
l).
Вообще говоря, может существовать несколько 2-3 деревьев с l листьями. Например, на следующем рисунке показаны
два возможных дерева с 6 листьями.

https://acmp.ru/index.asp?main=alltasks 428/591
2/29/2020 Все задачи сайта

По заданному числу l найдите количество различных 2-3 деревьев с l листьями. Так как ответ может быть довольно
большим, выведите его по модулю r.

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

Входной файл INPUT.TXT содержит два целых числа: l и r (1 ≤ l ≤ 5 000, 1 ≤ r ≤ 109).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – количество различных 2-3 деревьев, имеющих ровно l листьев,
взятое по модулю r.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 6 1000000000 2
2 7 1000000000 3

Задача №753
Различные слова
(Время: 3 сек. Память: 64 Мб Сложность: 52%)
Дана строка S, состоящая из N символов. Назовем ее подстрокой Sij строку с i-го по j-й символ (i ≤ j). Ваша задача —
посчитать количество различных подстрок заданной строки.

Входные данные
Входной файл INPUT.TXT содержит одну непустую строку S, состоящую из маленьких английских букв, длиной не
более чем 1024 символа.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число — количество различных подстрок строки S.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 abc 6
2 aaa 3

Задача №754
Три толстяка
(Время: 1 сек. Память: 16 Мб Сложность: 7%)
Три толстяка решили поспорить: кто из них самый тяжелый. После взвешивания оказалось, что их масса
соответственно M1, M2 и M3 килограмм. Считается, что масса толстяка должна быть не менее 94 и не более 727
килограмм.
Помогите определить массу самого тяжелого из них, либо выяснить, что была допущена ошибка при взвешивании.

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

https://acmp.ru/index.asp?main=alltasks 429/591
2/29/2020 Все задачи сайта

Входной файл INPUT.TXT содержит три целых числа M1, M2 и M3, разделенные пробелом. Все числа целые и не
превосходят 10 000 по абсолютной величине.

Выходные данные
В выходной файл OUTPUT.TXT выведите массу самого тяжелого толстяка в случае корректного взвешивания, либо
слово «Error» в противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 98 106 214 214
2 100 100 100 100
3 93 500 1000 Error

Задача №755
Сбор земляники
(Время: 1 сек. Память: 16 Мб Сложность: 6%)
Маша и Миша собирали землянику. Маше удалось сорвать X ягод, а Мише – Y ягод. Поскольку ягода была очень
вкусной, то ребята могли какую то часть ягод съесть. По нашим подсчетам вместе они съели Z ягод.
Требуется определить: сколько ягод ребята собрали в результате, при этом следует проверить, не ошиблись ли мы в
расчетах, подсчитывая количество съеденных ягод (их не должно было получиться больше, чем сорванных ягод).

Входные данные
Входной файл INPUT.TXT содержит три натуральных числа X, Y и Z, не превышающих 1000. Все числа расположены
в первой строке файла и разделены пробелом.

Выходные данные
В выходной файл OUTPUT.TXT выведите количество собранных ягод, если наши подсчеты оказались
правдоподобными, либо слово «Impossible» в противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 2 1 4
2 12 13 5 20
3 2 5 9 Impossible

Задача №756
Рыболовная сеть
(Время: 1 сек. Память: 16 Мб Сложность: 10%)
Браконьер Петрович использует распространенный незаконный способ рыбалки с
использованием рыболовной сети. Но проблема в том, что крупная рыба часто рвет сеть и
приходится ее восстанавливать. Однажды Петрович задумался: какое максимальное количество
повреждений может быть в рыболовной сети, таких, что сеть не будет разорвана на части? Вам
предстоит помочь ему в вычислениях.
Сеть имеет прямоугольную форму размером M×N узлов, все смежные узлы соединены леской. Под разрывом будем
понимать только единичный обрыв лески между двумя смежными узлами сети.
Например, если сеть имеет размер 2х2, то внешний вид сети будет напоминать квадрат, где допустим только один
разрыв в одном из четырех возможных соединений, т.к. любые 2 разрыва приведут к разделению сети на 2 части.

Входные данные
Входной файл INPUT.TXT содержит два целых числа M и N – размеры рыболовной сети (1 ≤ M, N ≤ 10 000).
https://acmp.ru/index.asp?main=alltasks 430/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT выведите максимальное число разрывов заданной сети, которые не приведут к
распадению рыболовной снасти Петровича.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 2 1
2 2 3 2

Задача №757
Спирт
(Время: 1 сек. Память: 16 Мб Сложность: 10%)
Каждому школьнику из курса органической химии известна формула молекулы этилового спирта – C2H5(OH). Откуда
видно, что молекула спирта состоит из двух атомов углерода (C), шести атомов водорода (H) и одного атома кислорода (O).
По заданному количеству атомов каждого из описанных выше элементов требуется определить максимально
возможное количество молекул спирта, которые могут образоваться в процессе их соединения.

Входные данные
Первая строка входного файла INPUT.TXT содержит 3 натуральных числа: C, Н и O – количество атомов углерода,
водорода и кислорода соответственно. Все числа разделены пробелом и не превосходят 1018.

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

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 6 1 1
2 10 5 12 0
3 18 35 3 3

Задача №758
Веревочный мост
(Время: 1 сек. Память: 16 Мб Сложность: 58%)
Однажды N путешественников решили ночью пересечь по веревочному мосту быструю горную речку. Без освещения
перейти мост невозможно. К счастью, у одного из них оказался с собой фонарик. Известно, что мост выдерживает только
двоих, а скорости людей могут различаться. Если мост пересекают два человека с разной скоростью, то они вынуждены
двигаться со скоростью самого медленного из них. Скорость движения каждого из путников известна.
Помогите путешественникам как можно быстрее перебраться через мост. Требуется написать программу,
определяющую минимальное время, которое потребуется для такого перехода. Например, если N=4, а время, требуемое
для перехода по мосту для каждого, составляет 5, 10, 20 и 25 минут соответственно, то наименьшее время, требуемое для
пересечения моста, составит ровно 60 минут.

Входные данные
В первой строке входного файла INPUT.TXT содержится натуральное число N – количество путешественников (N ≤
105). Во второй строке располагаются N натуральных чисел – скорости всех путников, разделенные пробелом и не
превосходящие 106. Здесь под скоростью человека понимается время в минутах, необходимое для перехода через мост.

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

https://acmp.ru/index.asp?main=alltasks 431/591
2/29/2020 Все задачи сайта

В выходной файл OUTPUT.TXT выведите одно целое число – минимально возможное время, необходимое путникам
для пересечения моста.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 20
1
10 20
4 60
2
5 10 20 25

Задача №759
Али-Баба
(Время: 1 сек. Память: 16 Мб Сложность: 22%)
Али-Баба стоял у входа в пещеру. «Сим-Сим, открой дверь!» – сказал он. И дверь распахнулась. Али-Баба зашел
внутрь и обомлел – пещера была усыпана сокровищами. Золото, драгоценности, дорогое оружие и посуда, пещера
буквально сверкала!
Но Али-Баба радовался недолго. Поразмыслив, он понял, что может унести с собой не более M предметов, в то время
как в пещере находится целых N предметов. Али-Баба внимательно рассмотрел каждый предмет и оценил его стоимость. К
своему удивлению Али-Баба обнаружил в пещере также бесполезные, и даже вредные вещи, ценность которых
сомнительна. Естественно, что Али-Баба хочет взять с собой такие предметы, чтобы их суммарная ценность была
максимальна. Помогите ему найти эту сумму.

Входные данные
В первой строке входного файла INPUT.TXT находятся два числа, разделенные пробелом: N – количество предметов в
пещере (1 ≤ N ≤ 1000), M – максимальное количество предметов, которые Али-Баба может унести с собой (0 ≤ M ≤ N). Во
второй строке располагаются N целых чисел, разделенных пробелами. Каждое такое число Ci означает стоимость i-го
сокровища (1 ≤ i ≤ N, -1000 ≤ Ci ≤ 1000).

Выходные данные
В выходной файл OUTPUT.TXT выведите единственное целое число – максимальную суммарную стоимость
сокровищ, которые Али-Баба может унести из пещеры.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 2 7
1
2 3 1 4
4 2 3
2
0 3 -1 -2

Задача №760
Транспорт
(Время: 1 сек. Память: 16 Мб Сложность: 24%)
Все автовладельцы рано или поздно встречаются с инспекторами ГИБДД. Ваша задача состоит в том, чтобы
рассчитать минимальное время прохождения автомобилем прямого участка дороги, на котором стоят инспекторы.
Известно, что на данном участке инспекторы останавливают все проезжающие мимо автомобили. Примем следующие
допущения: автомобили являются материальными точками, которые могут мгновенно останавливаться или набирать
максимальную скорость. Автомобиль начинает свой путь в точке 0 и заканчивает его в точке L.

Входные данные
Первая строка входного файла INPUT.TXT содержит три числа: N – количество инспекторов (0 ≤ N ≤ 30), V –
максимальная скорость автомобиля (км/ч) и L – длина участка дороги (км) (1 ≤ V, L ≤ 200). Вторая строка содержит N пар

https://acmp.ru/index.asp?main=alltasks 432/591
2/29/2020 Все задачи сайта

чисел xi – расстояние от точки 0 до инспектора (0 ≤ xi ≤ L) и ti – время (мин), на которое он останавливает машину (1 ≤ ti ≤


10). Все инспектора стоят в разных точках. Все числа во входных данных целые.

Выходные данные
В выходной файл OUTPUT.TXT выведите время преодоления участка дороги автомобилем в минутах с точностью до
двух знаков после запятой (вещественное число с ровно двумя цифрами после запятой).

Примеры
№ INPUT.TXT OUTPUT.TXT
3 60 45 60.00
1
0 5 25 5 40 5
2 78 150 126.38
2
2 10 78 1

Задача №761
Ковбои
(Время: 1 сек. Память: 16 Мб Сложность: 65%)
Всем известно, что в позапрошлом веке ковбои занимались перегоном скота. Перегон скота всегда считался опасным
делом. Ковбой Джон, готовясь к очередному перегону, изучал план местности. Так как местность гористая, то добраться из
одного поселения в другое можно только по дорогам, возможно через другие поселения. Главной опасностью на пути
были бандиты, проживающие в разных населенных пунктах, и организующие группировки для нападения на ковбоев.
Чтобы их разобщить, Джон разработал гениальный план полной изоляции поселений друг от друга.
Посоветовавшись с напарниками, Джон пришел к выводу, что временно дороги можно вывести из строя, устроив
камнепад. Под покровом ночи можно выехать из одного населения в другое, остановиться где-то посреди дороги и
устроить камнепад так, чтобы по этой дороге нельзя больше проехать никому. Камни падают позади повозки, поэтому
обратной дороги нет. Но зато можно ехать в другой населенный пункт, и если из него существуют дороги, то и их можно
вывести из строя.
Сам Джон этого сделать не может, только он знает тайные тропы и должен перегонять стадо. Поэтому он решил
использовать наемников. Наемники есть в любом поселении и в любом количестве, однако, за каждого из них приходится
платить не малую сумму, поэтому Джон хочет потратить как можно меньше денег. Помогите Джону определить
минимальное число наемников, которые смогут привести в непригодность абсолютно все дороги и изолировать все
поселения.

Входные данные
В первой строке входного файла INPUT.TXT находятся два целых неотрицательных числа N (0 < N < 1000) –
количество поселений и M (0 ≤ M ≤ 100 000) – количество дорог, их соединяющих. Далее следует M строк, содержащих
описание дорог. В i-й строке находятся два натуральных числа V и U (1 ≤ V, U ≤ N) – номера поселений, которые соединяет
i-я дорога. Между двумя различными поселениями существует не более одной дороги, но может существовать несколько
маршрутов. Нет дорог, которые образуют петлю, исходящую из поселения и ведущую в него же, не заходя в другие
поселения. Не гарантируется, что существует маршрут между любой парой поселений. Маршрутом называется такая
последовательность поселений s1-s2- … -sn, что любые два последовательных поселения si и si+1 соединены дорогой.

Выходные данные
В выходной файл OUTPUT.TXT выведите минимальное количество наемников, необходимое для изоляции всех
поселений.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 0 0
2 1 1
2
1 2
3 6 6 2
1 2
https://acmp.ru/index.asp?main=alltasks 433/591
2/29/2020 Все задачи сайта
2 3
1 3
4 5
5 6
4 6

Задача №762
Взвешивание
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Имеется N монет, не различимых на первый взгляд. Однако, одна из них фальшивая. Фальшивая монета чуть тяжелее,
чем настоящая, но во всем остальном полностью идентична настоящим. Кроме того, есть чашечные весы без гирь и шкалы
(по таким весам, можно определить, какая чаша тяжелее или легче, но нельзя сказать на сколько). Найти минимальное
количество взвешиваний, за которое можно гарантированно определить фальшивку.

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

Входной файл INPUT.TXT содержит одно натуральное число N – количество монет (2 ≤ N ≤ 109).

Выходные данные
В выходной файл OUTPUT.TXT выведите минимальное количество взвешиваний.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 1
2 3 1

Задача №763
Игра с ладьей
(Время: 1 сек. Память: 16 Мб Сложность: 19%)
На бесконечной вправо и вверх шахматной доске находится ладья. Два игрока передвигают ее по очереди. За один ход
разрешено сдвинуть ладью вниз или влево на произвольное (ненулевое) количество клеток так, чтобы ладья не покинула
доску. Цель игры – переместить ладью в левый нижний угол, то есть клетку с координатами (1,1). Известно, что оба игрока
придерживаются оптимальной стратегии. Игрок №1 ходит первым, при этом он обязан совершить хотя бы один ход. Если
первый ход сделать нельзя, то определить победителя также невозможно. Требуется написать программу, которая найдет
номер победившего игрока, либо определит, что этого сделать нельзя.

Входные данные
Входной файл INPUT.TXT содержит два натуральных числа, разделенных пробелами: X и Y – координаты ладьи перед
первым ходом (X,Y ≤ 109).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – номер победившего игрока. Если победителя определить
невозможно, то следует вывести 0.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1 0
2 1 6 1

Задача №764
Охотник
(Время: 1 сек. Память: 16 Мб Сложность: 27%)
https://acmp.ru/index.asp?main=alltasks 434/591
2/29/2020 Все задачи сайта

Сезон охоты очень не долог, и поэтому оставшуюся часть года заядлые охотники развлекают себя тем, что стреляют по
мишеням в тире. Тир представляет собой плоскость, на которой расставлены мишени. Размерами мишеней можно
пренебречь и считать их точками с координатами (x, y). Также известно, что мишени сделаны из картона, поэтому за один
выстрел можно поразить сразу все мишени, стоящие на линии выстрела. В начале координат стоит охотник и у него
остался последний патрон. Охотник хочет использовать его эффективно – то есть за один выстрел поразить как можно
больше целей. Помогите ему в этом.

Входные данные
В первой строке входного файла INPUT.TXT находится натуральное число N (N ≤ 100) – количество мишеней в тире.
Далее следует N строк – описание мишеней. В (i+1)-й строке находится два целых числа x и y (-100 ≤ x, y ≤ 100) –
координаты i-й мишени. Не существует двух мишеней, стоящих в одной точке, и никакая мишень не стоит в начале
координат.

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

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1
1
1 1
2 2
2 1 1
2 2
3 2
1 0
3
2 0
0 1

Задача №765
Го
(Время: 1 сек. Память: 16 Мб Сложность: 50%)
Совсем недавно Али-Баба узнал от своего брата Касима об
удивительной игре Го. В Го играют на прямоугольной доске – гобане,
расчерченном вертикальными и горизонтальными линиями. Все линии
пронумерованы. В игре участвуют два игрока, которые по очереди
выставляют на гобан камни – специальные круглые фишки. Каждый
камень ставится на незанятую точку пересечения линий доски
(пересечения называют пунктами). У одного игрока – черные камни, у
другого – белые. Камни одного цвета, смежные по вертикали, либо по
горизонтали (но не диагонали), объединяются в группу. Одиночный камень
также считается группой.
Один из способов набрать очки в Го – захватить камни противника.
Каждый камень может иметь от двух до четырех смежных с ним пунктов
(по вертикали и горизонтали, но не по диагонали). Если такой пункт не
занят камнем, то он называется «дамэ». Дамэ группы – это все дамэ
камней, составляющих группу. Как только оппонент своими камнями закрывает все дамэ чужой группы, то эта группа
считается захваченной и снимается с доски. Если у группы осталось лишь одно дамэ, то говорят, что эта группа находится
в «атари» т.е. на один шаг от захвата соперником.
Дамэ черных камней на рисунке отмечены крестиком. Группа черных из камней (1, 3) и (1, 4) имеет 4 дамэ. Группа (6,
1), (6, 2) и (6, 3) имеет одно дамэ и находится в атари. Черный камень (4, 5) также находится в атари. Помогите Али-Бабе,
который всегда играет черными, определить, какие его группы находятся в атари.

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

https://acmp.ru/index.asp?main=alltasks 435/591
2/29/2020 Все задачи сайта

Первая строка входного файла INPUT.TXT содержит целое число N – размерность игровой доски (6 ≤ N ≤ 19). Далее
следует N строк по N символов каждая. Каждый символ описывает один пункт доски. «B» означает черный камень, «W» –
белый, «.» означает пустой пункт. Все группы на доске имеют хотя бы одно дамэ.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – количество групп черных камней, находящихся в атари.

Примеры
№ INPUT.TXT OUTPUT.TXT
9 2
.........
.........
.........
...WW....
1
...BW.B..
B..W.W...
B...WBW..
....WBW..
W....BW..
6 1
WB.WBB
.B.W.B
2 ..WW.W
WWW..W
..W...
BBW...

Задача №766
Орешки
(Время: 1 сек. Память: 16 Мб Сложность: 3%)
Белочка собрала в лесу N шишек c орешками. Белочка очень привередливо выбирала шишки, и брала только те, в
которых ровно M орешков. Также известно, что для пропитания зимой ей необходимо не менее K орешков. Определите,
хватит ли на зиму орешков белочке.

Входные данные
Входной файл INPUT.TXT содержит три натуральных числа: N, M и K (N, M ≤ 100, K ≤ 10 000).

Выходные данные
В выходной файл OUTPUT.TXT выведите «YES» если белочке хватит орешков и «NO» в противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 4 5 20 YES
2 4 5 21 NO
3 3 2 1 YES

Задача №767
Дороги - 3
(Время: 1 сек. Память: 16 Мб Сложность: 67%)
Начинается зима, но в городе К на дорогах все еще продолжается ремонт. После того, как очередная дорога была
отремонтирована, департамент транспорта пришел к выводу, что дешевле обслуживать дороги с односторонним
движением.

https://acmp.ru/index.asp?main=alltasks 436/591
2/29/2020 Все задачи сайта

Сейчас все дороги в городе К двусторонние. Дорога состоит из двух полос – встречного и попутного направления.
Требуется превратить максимальное количество дорог в односторонние, оставив одну из двух полос так, чтобы сообщение
между точками города не нарушилось. Это означает, что если из точки i можно проехать в точку j (прямо или через
промежуточные точки), то после введения одностороннего движения эта возможность должна остаться.
Карта города задаётся матрицей смежности M, заполненной нулями и единицами. Размерность матрицы N (1 ≤ N ≤
100) – число точек города. Если M[i, j] = 1, то существует полоса для перемещения из точки i в точку j, не проходящая
через другие точки, иначе M[i, j] = 0 (M[i, i] = 0 для любого i). Матрица M симметрична относительно главной диагонали,
т.е. M[i, j] = M[j, i], что означает двустороннюю дорогу (полоса встречного и попутного направления).

Входные данные
В первой строке входного файла INPUT.TXT содержится натуральное число N – размерность матрицы M, следующие
N строк, каждая по N символов (нули или единицы), разделенные пробелами – элементы матрицы M.

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

Примеры
№ INPUT.TXT OUTPUT.TXT
4 3
0 0 1 1
1 0 0 0 0
1 0 0 1
1 0 1 0
7 6
0 1 0 1 0 0 0
1 0 0 1 0 1 0
0 0 0 0 1 1 1
2
1 1 0 0 0 0 0
0 0 1 0 0 1 0
0 1 1 0 1 0 0
0 0 1 0 0 0 0

Задача №768
Звездные прямоугольники
(Время: 1 сек. Память: 16 Мб Сложность: 35%)
Астроном Костя очень любит разглядывать звездное небо в телескоп. Однажды, глядя на звезды, он задумался: а
сколько различных звездных прямоугольников видно на небе? Звездный прямоугольник – это четыре различных звезды,
которые при соединении четырьмя прямыми линиями образуют прямоугольник.
Два звездных прямоугольника считаются различными, если хотя бы одна звезда из набора звезд, их формирующих
отличается.
Помогите Косте сосчитать количество различных звездных прямоугольников.

Входные данные
Входной файл INPUT.TXT содержит число N (1 ≤ N ≤ 100) – количество звезд. Следующие N строк содержат
координаты звезд (X, Y), разделенные пробелом. Координаты представлены целыми числами (0 ≤ X, Y ≤ 105).

Выходные данные
В выходной файл OUTPUT.TXT выведите количество различных прямоугольников, образующихся звездами.

Примеры
№ INPUT.TXT OUTPUT.TXT

https://acmp.ru/index.asp?main=alltasks 437/591
2/29/2020 Все задачи сайта
1 4 1
1 1
10 10
1 10
10 1
4 0
1 1
2 2 10
9 10
10 1

Задача №769
Список предметов
(Время: 1 сек. Память: 16 Мб Сложность: 31%)
Студент Василий к концу семестра решил выяснить, какие предметы ему в этом семестре преподавались. Полный
список предметов есть в его записях, но при их просмотре возникли две серьезные трудности. Во-первых, некоторые
предметы упоминаются в этих записях более одного раза. Во-вторых, что еще хуже, из-за постоянной спешки Василий
часто использует сокращения. Сокращает он довольно просто – отбрасывает несколько последних букв слова. Так, предмет
“algebra” в записях может быть обозначен как “algeb”, “algebr” и “alg” (но не как “alg-ra”). Создайте для Василия
программу, которая по его записям определяет, сколько предметов у него преподавалось в этом семестре.

Входные данные
Первая строка входного файла INPUT.TXT содержит число N – количество записей в списке Василия (1 ≤ N ≤ 10 000).
Далее идет N строк, каждая из которых содержит строку символов длиной M (2 ≤ M ≤ 20). Строки состоят исключительно
из английских символов в нижнем регистре и знаков подчеркивания ('_'). Гарантируется, что входные данные позволяют
однозначно определить количество преподававшихся в семестре предметов.

Выходные данные
В выходной файл OUTPUT.TXT выведите количество предметов, которые преподавались в семестре.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 2
algebra
1
algeb
history
4 1
algebr
2 alg
algebra
algeb

Задача №770
Покорение вселенной
(Время: 1 сек. Память: 16 Мб Сложность: 48%)
Два сообщества А и В начали делить пространство вселенной, устанавливая свой флаг на звездах и планетах.
Сообщество А составило маршрут покорения вселенной, состоящий из названий объектов (планет и звезд) в порядке их
посещения. Названия объектов состояли из английских букв и начинались с заглавной буквы, все остальные буквы –
строчные. Маршрут представляет собой непрерывную цепочку символов, т.к. названия объектов записывались подряд без
пробелов. Строка маршрута была зашифрована перестановками групп символов, сформированных из исходной цепочки.
Первая группа включает первую букву цепочки. Вторая группа формируется из двух последних букв исходной цепочки в
порядке их встречаемости, если они не попали в первую группу. Третья группа – из трех символов от начала цепочки, не
вошедших в ни какую группу. Четвертая – из четырех символов от конца цепочки, также пока не включенных в другие
группы и т.д. (рис.1). Формирование групп заканчивается, когда каждый символ цепочки включен в какую-либо группу.
Если в момент завершения формирования групп последняя группа не набирает требуемое количество символов, то в нее
включаются оставшиеся символы, не вошедшие ни в какую группу. Каждый символ принадлежит только одной группе.
https://acmp.ru/index.asp?main=alltasks 438/591
2/29/2020 Все задачи сайта

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

Сообществу В удалось перехватить маршрут сообщества А. Но его слабые технические возможности не позволяют
существенно нарушить планы соперников, поэтому сообществом В был составлен маршрут, включающий только те
объекты, которые в исходном маршруте сообщества А находятся в позициях, соответствующих простым числам.
Формально, если маршрут сообщества A состоит из объектов p1p2p3…pn, то маршрут сообщества B будет иметь вид
pi1pi2pi3…pim, где ik – простое число, 1 < ik ≤ n, 1 ≤ k ≤ m, ik < ik+1.

Входные данные
Входной файл INPUT.TXT содержит строку, представляющую зашифрованный маршрут сообщества A, содержащий
от 1 до 500 000 символов.

Выходные данные
В выходной файл OUTPUT.TXT выведите строку, содержащую маршрут посещения планет и звезд сообществом В.
Если в результате формирования получился пустой маршрут, не содержащий ни одного объекта, то в выходной файл
следует вывести слово «Impossible» (без кавычек).

Примеры
№ INPUT.TXT OUTPUT.TXT
1 rsMauraL Mars
2 erurPL Per
3 iaiopeassMarsCunaL MarsCassiopeia

Задача №771
Экзамен
(Время: 1 сек. Память: 16 Мб Сложность: 74%)
Осень прошла, зима наступает, и листва покинула множество деревьев главного городского парка. В этот период
многие впадают в депрессию, включая студента Василия, так как ему предстоит сдать экзамен в конце года, а экзамен этот
по теме «структуры данных», к которым в частности относятся и деревья. Пожалуйста, помогите ему подготовиться к
экзамену, написав простую программу.
N-арное дерево – это дерево, степень каждого узла которого не превосходит N. Бинарные (двоичные) деревья – это
частный случай n-арного дерева при n=2.
Существует красивый способ представить любое n-арное дерево с помощью бинарного. Речь идет о так называемом
(FC-NS)-представлении (First Child – Next Sibling). Каждый узел такого дерева слева ссылается на потомка (или на NIL), а
справа ссылка осуществляется на брата (узел с общим предком). Пусть Par(N) – функция, возвращающая предка для N,
либо NIL в том случае, когда N – корень. Таким образом, узлы N и S – братья, если Par(N)=Par(S).
Будем обозначать узлы дерева ASCII-символами '0'-'9', 'a'-'z', 'A'-'Z'. Пусть Val(N) – функция, возвращающая ASCII-код
символа, обозначающего узел. Определим также функцию FC(N), возвращающую первого потомка для N (либо NIL при
отсутствии такового). Аналогично определим функцию NS(N), которая будет возвращать следующего брата за узлом N.
https://acmp.ru/index.asp?main=alltasks 439/591
2/29/2020 Все задачи сайта

FC(N) – это потомок Сi с наименьшим значением Val(Ci) для всех потомков,


NS(N) – такой брат Si, с наименьшим Val(Si) для всех Val(Si)>Val(N).
Ниже рассмотрим пример 3-арного дерева и его бинарного (FC-NS)-представления, полученное в результате
вышеупомянутых рассуждений:
1 1
/|\ |
/ | \ 2-3-4
/ | \ | |
2 3 4 5-6 7
/ \ | |
5 6 7 8-9
/ \
8 9

3-арное дерево Бинарное (FC-NS)-представление

Ваша задача по заданному дереву построить бинарное (FC-NS)-представление и вывести его в виде
псевдографической схемы по правилам, описанным ниже.

Входные данные
Первая строка входного файла INPUT.TXT содержит P – количество узлов заданного множества деревьев (их может
быть более одного). Далее следуют P строк, содержащие пары ASCII-символов ('0'-'9', 'a'-'z', 'A'-'Z'), разделенные пробелом.
Первый из них – узел потомка, второй – узел предка. Родительский узел корневого узла обозначен символом '-'. Никакие
узлы не повторяются дважды. Различные узлы обозначаются различными символами.

Выходные данные
В выходной файл OUTPUT.TXT выведите заданное множество деревьев в бинарном (FC-NS)-представлении. Первая
строка должна содержать корневые узлы деревьев, следующие в порядке возрастания ASCII-кодов по одному из
нижеизложенных правил построения:

1. Корневой узел первого дерева должен располагаться в первой строке, в самой левой позиции.
2. FC(N) (если не NIL) должен печататься под узлом N, разделяясь вертикальной линией '|'.
3. NS(N) (если не NIL) должен печататься справа от узла N, разделяясь одним или несколькими символами '-'.
4. Узлы одного уровня (с равным расстоянием от корня) всегда должны располагаться в одной строке.
5. Никакие два символа не должны соприкасаться, они должны отделяться либо горизонтальной, либо вертикальной
линией.
6. Никакие два символа не должны пересекаться (печататься один на другом), все должны быть видимыми.
7. Количество символов при выводе должно быть минимальным (не должно быть лишних пробелов и лишних
пропусков с использованием линий).

Просим учесть, что утверждение 7 не следует из примеров, приведенных ниже.

Примеры
№ INPUT.TXT OUTPUT.TXT
9 1
1 - |
2 1 2-3-4
3 1 | |
4 1 5-6 7
1 |
5 2
6 2 8-9
7 4
8 7
9 7
1 A
2
A -

Примечание

https://acmp.ru/index.asp?main=alltasks 440/591
2/29/2020 Все задачи сайта

Первый пример содержит дерево, описанное в тексте задания.

Задача №772
Конверт
(Время: 1 сек. Память: 16 Мб Сложность: 75%)
Хорошие новости! Межпланетный экспресс запускает новую услугу – теперь компания доставляет
не только посылки, но и письма! Письмо - это согнутый несколько раз лист, помещённый в конверт,
имеющий прозрачные окошки. Таким образом, часть листа (например, с адресом получателя) видна при
закрытом конверте. Линии сгибания листа параллельны и делят лист на одинаковые прямоугольные
фрагменты. Тем не менее, единственный в компании специалист по сгибанию Бендер подходит к делу
безответственно, иногда допускает ошибки, и в результате напротив прозрачного окошка в конверте
может оказаться не тот фрагмент листа. Гермес Конрад хочет избежать ошибок, поэтому, тщательно
записывает каждый сделанный сгиб. Теперь ему нужна программа, которая по этим записям вычислит,
какие именно фрагменты будут смотреть наружу после проделанных сгибаний.
Бюрократ Гермес придумал следующую систему обозначений: все возможные линии сгибов пронумерованы от 1 до n.
Если мы смотрим на лицевую сторону листа и сгибаем «от себя», когда соприкасаются обратные стороны соседних
фрагментов листа, а наружу смотрят лицевые стороны, такой сгиб обозначим буквой F (forward/front bend). Если сгибаем
«на себя», когда соприкасаются лицевые стороны и наружу показываются обратные стороны – то буквой R (rear bend). Для
фрагментов листа нумерация похожая, только с добавлением в начале буквы P, чтобы не перепутать обозначения сгибов и
фрагментов: фрагменты письма пронумерованы от P0 до Pn, где сгиб i разделяет фрагменты Pi-1, Pi. Лицевая сторона
письма и любого из фрагментов обозначена F (например, P1F), оборотная буквой R (например, P3R)

На иллюстрации, письмо изображается со стороны (лицевая


сторона изначально «смотрит» влево, а сгибы изображены как
точки). Лицевая сторона обозначается тонкой линией, оборотная –
толстой линией, цифрами обозначены точки сгибания, стрелками
подписаны некоторые возможные варианты сгибания письма.
Размеры сгиба и толщину листа считаем нулевыми, все сгибания
выполняются ровно на 180°. Фрагменты после сгибания плотно
прилегают друг к другу (в примере просветы после сгибания
изображены только для наглядности) – так, во втором примере
точки 1 и 3R совмещаются, и фрагмент P0 может обернуться вокруг
совмещённых точек. В третьем примере точки 1 и 3 также
совмещаются, но при этом фрагмент P0 не может повернуться
вокруг 1 – так как ему мешают фрагменты P2, P3. Если Бендер попытается сделать такой сгиб, то такое письмо будет
скомкано и выкинуто – это уже работа для уборщика Скраффи.

Входные данные
Входной файл INPUT.TXT содержит одну строку данных, которая начинается с двух чисел: номер наибольшего
фрагмента n, 1 ≤ n ≤ 20 (таким образом, письмо имеет n точек сгиба, и n+1 фрагментов с номерами P0, P1 … Pn),
количество проделанных сгибаний 1 ≤ m ≤ n (сгибы могут быть сделаны не в каждой возможной точке). Далее выписаны
наблюдаемые сгибания через пробел, в порядке их выполнения. Если сгибать бумагу в одной точке несколько раз, то ее
прочность теряется, поэтому в каждой точке сгиб производится максимум один раз.

Выходные данные
В выходной файл OUTPUT.TXT выведите перечисление всех видимых фрагментов, в порядке возрастания их номеров,
сначала фрагменты стороной F, потом стороны R. Либо слово SCRUFFY, если письмо было скомкано.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 3 2F 3R 1R P0R P3R
2 3 3 2F 3R 1F P0F P1F
3 3 2 2R 1R SCRUFFY
4 4 2 4F 3F P0F P1F P2F P3F P0R P1R

https://acmp.ru/index.asp?main=alltasks 441/591
2/29/2020 Все задачи сайта

Задача №773
Гулливер
(Время: 1 сек. Память: 16 Мб Сложность: 4%)
Из книги Джонатана Свифта мы знаем, что тот Гулливер посетил страну «Лилипутию», где живут лилипуты,
окруженные вещами, животными и заводами небольшого размера. Сначала лилипуты боялись Гулливера, но позже они
поняли, что такое соседство приносит им большую выгоду, и они стали помогать ему. Например, лилипуты делали кровать
для Гулливера из своих маленьких матрацев, сшитых вместе. Лилипутам были известны размеры Гулливера. Довольно
быстро они смогли просчитать количество матрацев, необходимых для шитья большого матраца. Но у них постоянно
возникали сложности с их небольшим ростом и стеля постель, они иногда не могли сшить достаточно толстый матрац.

Входные данные
Входной файл INPUT.TXT содержит два целых числа, которые разделены пробелом: K – коэффициент, отражающий
во сколько раз Гулливер больше лилипутов, и M – количество слоев матрацев (2 ≤ K, M ≤ 100).

Выходные данные
В выходной файл OUTPUT.TXT выведите количество матрацев лилипутов, необходимых для построения матраца для
Гулливера.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 2 8
2 12 4 576

Задача №774
Шляпа
(Время: 1 сек. Память: 16 Мб Сложность: 59%)
Фокусник Аркадий Великолепный разочаровался в доходности извлечения из цилиндра кроликов и голубей и решил
заняться контрабандой драгоценностей. Его шляпа-цилиндр, высотой H и радиусом основания R, поможет ему в этом, ибо
ни один таможенник не сможет обнаружить там ничего, кроме кучки заячьего помета. Перед Аркадием, однако, встал
другой вопрос: что и куда везти? Разные драгоценности пользуются разной популярностью в разных городах; кроме того,
драгоценности различаются между собой по размеру упаковки. Ценности хранятся в кубических контейнерах, которые
размещаются в цилиндре так, что их дно параллельно дну цилиндра. Контейнеры могут помещаться друг на друга, образуя
слои, причем в одном слое могут находиться только контейнеры с одинаковой длиной ребра. Из-за чисто технических
ограничений более пяти контейнеров в один слой поместить нельзя. Контейнеры не должны выступать за границы
цилиндра.
Аркадий выяснил, какой длины ребро у контейнеров всех типов драгоценностей, и по какой цене можно продать те
или иные драгоценности в тех или иных городах. Для начала фокусник решил совершить поездку в один город, взяв с
собой драгоценности одного типа. Помогите ему рассчитать прибыль от сделки при такой упаковке цилиндра
контейнерами, когда помещается их максимально возможное количество.

Входные данные
Первая строка входного файла INPUT.TXT содержит четыре числа, разделенных пробелами: N – количество типов
драгоценностей (1 ≤ N ≤ 10), M – количество городов (1 ≤ M ≤ 10), действительные числа R (1.0 ≤ R ≤ 100.0) и H (1.0 ≤ H ≤
100.0).
Во второй строке расположены N действительных чисел a1, a2, …, aN – длина ребер контейнеров каждого типа
драгоценностей, 0.5 ≤ ai ≤ 100.0. Далее во входном файле M строк – по одной для каждого города. Каждая из строк
содержит N целых чисел Qij – стоимость драгоценностей каждого типа в текущем городе (0 ≤ Qij ≤ 1000).
Все вещественные числа во входных данных имеют не более 6 значащих разрядов.

Выходные данные
В выходной файл OUTPUT.TXT выведите максимальную прибыль, которую фокусник может извлечь в текущей
ситуации.

https://acmp.ru/index.asp?main=alltasks 442/591
2/29/2020 Все задачи сайта

Примеры
№ INPUT.TXT OUTPUT.TXT
2 2 1 2 60
1 2
1
10 20
30 40
3 3 1 2 600
1 0.5 1
2 10 10 10
20 20 20
30 30 30

Задача №775
Проблема Коллатца
(Время: 1 сек. Память: 16 Мб Сложность: 23%)
Студент Василий начитался новостей о Григории Перельмане и решил, что тоже хочет миллион долларов. Получить
его он собирается, исследовав проблему Коллатца. Эта проблема предполагает следующую последовательность
преобразований: некоторое натуральное число N делится на 2, если оно четное, в противном случае умножается на три и
увеличивается на единицу. Получившееся число N1 (равное либо N/2, либо 3N+1) подвергается той же процедуре, и так
далее. Существует гипотеза, что любое натуральное число N в результате вышеописанных преобразований превращается в
единицу. Количество шагов, требующихся для получения единицы, зависит от исходного числа по весьма сложному
принципу: так, 27 превращается в 1 за 111 шагов, а 3 – за 7.

Василий предположил, что быстрее всего в единицу превращаются числа Мерсенна – числа вида 2n-1, где n – целое
положительное. Теперь ему хочется проверить эту теорию. Помогите ему, напишите программу, которая по заданному
числу Мерсенна N и размеру отрезка M будет выяснять, существует ли число K (N < K ≤ N+M), которое будет
превращаться в единицу за меньшее число шагов, нежели N.

Входные данные
Входной файл INPUT.TXT содержит целые числа N (3 ≤ N ≤ 10100) и M (0 ≤ M ≤ 10100), разделенные пробелом.

Выходные данные
В выходной файл OUTPUT.TXT выведите число K, если его удалось найти (в том случае, когда таких чисел несколько
следует выводить то из них, которое обращается в единицу быстрее, а если и таких несколько, то меньшее из них) и слово
«NO» (кавычки не выводятся) в противном случае.

Пример
№ INPUT.TXT OUTPUT.TXT
1 3 5 4

Задача №776
Юпитер
(Время: 1 сек. Память: 64 Мб Сложность: 62%)
На поверхности Юпитера приземлился летающий робот, его задачей является исследование поверхности планеты.
Поверхность Юпитера представляет собой прямоугольное поле из N×M клеток, каждая из которых представляет лаву или
твердую поверхность различной высоты. Для снятия проб грунта роботу необходимо переместиться из клетки с
координатами (1,1) в клетку с координатами (X,Y). Для передвижения робот может использовать два типа действий - это
переезд и перелет.
Переезд - перемещение в одну из четырех соседних клеток, имеющих общую грань с заданной, при этом высота
клеток не должна отличаться больше чем на единицу.
Перелет из одной клетки в другую позволяет преодолевать препятствия, но для него нужна энергия, которая
расходуется из специальных аккумуляторов, количество которых на борту ограничено и равно K. Дальность перелета
ограничена мощностью одного аккумулятора и составляет D единиц. Перелет возможен только по направлениям,

https://acmp.ru/index.asp?main=alltasks 443/591
2/29/2020 Все задачи сайта

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

Входные данные
Первая строка входного файла INPUT.TXT содержит размеры поля N, M (1 ≤ N,M ≤ 100), разделенные пробелом. Во
второй строке идут координаты клетки, куда необходимо найти путь X,Y (1 ≤ X ≤ N, 1 ≤ Y ≤ M). На третьей строке через
пробел указаны целые K и D (0 ≤ K ≤ 10, 0 ≤ D ≤ 100). Далее в M строках идут по N чисел через пробел – высотные
отметки участка Юпитера, высота каждой клетки - целое число, лежащее в диапазоне от 0 до 10000 включительно. Высота
0 (ноль) обозначает лаву, на которой останавливаться нельзя, но можно пролететь над ней.

Выходные данные
В выходной файл OUTPUT.TXT выведите целое число - минимальное количество действий, необходимых для
достижения заданной клетки. Если добраться до заданной клетки нельзя, то необходимо вывести в строке слово
IMPOSSIBLE.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 4 5
5 3
1 6
1 2 1 4 2 1
1 2 4 2 1
4 4 6 2 1
2 2 2 2 1
4 4 3
4 2
1 3
2 2 0 0 3
3 0 4 3
4 0 5 2
4 5 5 1
3 3 IMPOSSIBLE
3 3
10 10
3
1 0 0
1 0 0
0 1 1

Задача №777
Будильник
(Время: 1 сек. Память: 16 Мб Сложность: 12%)
Известный исследователь Чарльз Ф. Мантц, устав от долгого путешествия через джунгли, лег спать в 10 часов вечера,
но предварительно он завел будильник на 12 часов следующего дня. Но проспать 14 часов ему не удалось – будильник
зазвонил через 2 часа. Исследователь забыл, что на будильнике, имеющем 12-тичасовой циферблат, можно задать время до
звонка только менее 12 часов.
Напишите программу, которая определяет, сколько часов успеет проспать исследователь, прежде чем будильник его
разбудит.

Входные данные
В единственной строке входного файла INPUT.TXT записаны два целых числа S и T (1 ≤ S, T ≤ 12; S ≠ T), разделенные
одним пробелом - час, когда исследователь лег спать, и час, на который он установил будильник.

https://acmp.ru/index.asp?main=alltasks 444/591
2/29/2020 Все задачи сайта

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число – через сколько часов
зазвонит будильник.

Пример
№ INPUT.TXT OUTPUT.TXT
1 10 12 2

Задача №778
Офис
(Время: 1 сек. Память: 16 Мб Сложность: 18%)
Летом Вася очень любил смотреть в окно. Напротив его дома расположился офис некоторой строительной фирмы. В
течение всего месяца Вася наблюдал за его сотрудниками. Про каждый из 31 дня месяца он знает, сколько сотрудников
пришло на работу. Ему также известно, что каждый из сотрудников берет ровно по 4 выходных в месяц.
Теперь он ломает голову над загадкой – сколько всего сотрудников работает в этом офисе. Напишите программу,
которая ответит Васе на этот вопрос.

Входные данные
В единственной строке входного файла INPUT.TXT записано 31 целое неотрицательное число. Эти числа описывают
количество сотрудников, пришедших в офис в соответствующие дни месяца. Гарантируется, что входные данные
корректны.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести единственное число – общее количество
сотрудников офиса. Гарантируется, что ответ не превышает 100.

Примеры
№ INPUT.TXT OUTPUT.TXT
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
1
10 10 10 0 0 0 0

Задача №779
Строительство школы
(Время: 1 сек. Память: 16 Мб Сложность: 30%)
В деревне Интернетовка все дома расположены вдоль одной улицы по одну сторону от нее. По другую сторону от этой
улицы пока ничего нет, но скоро все будет – школы, магазины, кинотеатры и т.д.
Для начала в этой деревне решили построить школу. Место для строительства школы решили выбрать так, чтобы
суммарное расстояние, которое проезжают ученики от своих домов до школы, было минимально.
План деревни можно представить в виде прямой, в некоторых целочисленных точках которой находятся дома
учеников. Школу также разрешается строить только в целочисленной точке этой прямой (в том числе разрешается строить
школу в точке, где расположен один из домов – ведь школа будет расположена с другой стороны улицы).
Напишите программу, которая по известным координатам домов учеников поможет определить координаты места
строительства школы.

Входные данные
В первой строке входного файла INPUT.TXT сначала записано число N — количество учеников (1 ≤ N ≤ 100000). Во
второй строке записаны в строго возрастающем порядке координаты домов учеников — целые числа, не превосходящие
2∙109 по модулю.

Выходные данные
https://acmp.ru/index.asp?main=alltasks 445/591
2/29/2020 Все задачи сайта

В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число — координату точки, в
которой лучше всего построить школу. Если ответов несколько, выведите наибольший из них.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 3
1
1 2 3 4
3 0
2
-1 0 1

Задача №780
Футбол
(Время: 1 сек. Память: 16 Мб Сложность: 22%)
Вместо того чтобы делать уроки, Вася смотрел футбольный матч и записывал счет, который показывался на табло,
после каждого забитого гола. Например, у него могла получиться такая запись: 1:0, 1:1, 1:2, 2:2, 2:3. После этого он сложил
все записанные числа: 1+0+1+1+1+2+2+2+2+3=15.
По сумме, получившейся у Васи, определите, сколько всего мячей было забито в матче.

Входные данные
В первой строке входного файла INPUT.TXT записано одно целое неотрицательное число, не превосходящее 1000 –
сумма, полученная Васей.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – общее количество забитых мячей.

Пример
№ INPUT.TXT OUTPUT.TXT
1 15 5

Задача №781
Две цифры
(Время: 1 сек. Память: 16 Мб Сложность: 42%)
Сколько N-значных чисел можно составить, используя цифры 5 и 9, в которых три одинаковые цифры не стоят рядом?

Входные данные
Во входном файле INPUT.TXT записано число N (1 ≤ N ≤ 30).

Выходные данные
В выходной файл OUTPUT.TXT нужно вывести одно число - количество чисел с указанным свойством.

Пример
№ INPUT.TXT OUTPUT.TXT
1 3 6

Задача №782
Турнир
(Время: 1 сек. Память: 16 Мб Сложность: 29%)
Турнир проходит по олимпийской системе. В каждом матче участвуют два игрока. Проигравший игрок выбывает из
турнира, а победитель проходит в следующий тур. Матчи продолжаются до тех пор, пока в турнире не останется один
https://acmp.ru/index.asp?main=alltasks 446/591
2/29/2020 Все задачи сайта

участник, который становится обладателем золотой медали. Серебро достаётся его оппоненту в финальном матче. Если
количество участников больше трёх, то назначается дополнительный матч для определения бронзового победителя. В нём
участвуют два игрока, выбывшие из турнира последними, не считая финалистов.
Напишите программу определения минимального количества матчей, которые необходимо сыграть участникам
турнира, чтобы определить из них тех, кто получит медали.

Входные данные
Во входном файле INPUT.TXT записано одно целое число N (0 ≤ N ≤ 2147483647) – количество участников турнира.

Выходные данные
В выходной файл OUTPUT.TXT нужно вывести одно число - минимальное количество матчей в этом турнире.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 2
2 4 4

Задача №783
Укладка плитки
(Время: 1 сек. Память: 16 Мб Сложность: 50%)
Бригаде строителей поручили уложить квадратной плиткой пол на кухне в виде шахматного узора. Но строители
работали не очень слаженно, и когда весь пол уже был уложен, оказалось, что в некоторых местах плитки одинакового
цвета граничат друг с другом.
По заданному замощению определите, какое минимальное число строителей могло укладывать плитку.

Входные данные
Входной файл INPUT.TXT содержит восемь строк, состоящих из восьми символов W и B – полученное замощение.
Символ W обозначает плитку белого цвета, а символ B – чёрную.

Выходные данные
В выходной файл OUTPUT.TXT нужно вывести одно число - искомое число строителей.

Примеры
№ INPUT.TXT OUTPUT.TXT
WBWBWBBW 4
BWBBWBWB
WBWWBWBW
WBWWBWWB
1
BWBBWBWB
WBWBWWBW
BWBWBBWB
WBWBWWBW

Задача №784
Эволюция
(Время: 1 сек. Память: 16 Мб Сложность: 32%)
Во время исследований, посвященных появлению жизни на планете Олимпия,
учеными было сделано несколько сенсационных открытий:

1. Все живые организмы планеты происходят от бактерии Bitozoria Programulis.


2. Эволюция происходила шаг за шагом (по предположению ученых – во время
изменения климата на планете).
https://acmp.ru/index.asp?main=alltasks 447/591
2/29/2020 Все задачи сайта

3. На каждом шаге эволюции из каждого вида образовывались ровно два подвида, а предыдущий вид исчезал.
4. Если считать появление бактерии Bitozoria Programulis первым шагом эволюции, то существующие сейчас живые
организмы находятся на N-ом шаге.

Чтобы не придумывать названия во время исследований, ученые пронумеровали все виды организмов, которые когда-
либо существовали на планете. Для этого они нарисовали дерево эволюции с корнем Bitozoria Programulis, которая
получила номер 1. Далее нумеровали виды каждого шага эволюции слева направо. Таким образом непосредственные
подвиды Bitozoria Programulis получили номера 2 и 3. Следующими были занумерованы виды третьего шага эволюции –
подвиды вида 2 получили номера 4 и 5, а вида 3 – номера 6 и 7, и т.д.
Напишите программу, которая по номерам двух видов вычислит номер вида их ближайшего общего предка в дереве
эволюции.

Входные данные
В первой строке входного файла INPUT.TXT записано целое число N (1 ≤ N ≤ 60) – количество этапов эволюции,
которые произошли на планете Олимпия до текущего времени. Вторая и третья строки содержат по одному натуральному
числу, которые представляют номера видов, для которых требуется найти номер их ближайшего общего предка.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно натуральное число – номер ближайшего предка для двух видов.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 3
1 15
12
18 14563
2 233016
233008

Задача №785
Автоморфные числа
(Время: 2 сек. Память: 16 Мб Сложность: 26%)
Число называется автоморфным если оно совпадает с последними цифрами своего квадрата. Например, число 25
автоморфно, так как 252=625. Напишите программу определения всех автомофных чисел на заданном промежутке [a, b].

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

Входной файл INPUT.TXT содержит два натуральных числа a и b (a ≤ b ≤ 106).

Выходные данные
В выходной файл OUTPUT.TXT выведите через пробел в порядке возрастания все автоморфные числа заданного
промежутка.

Пример
№ INPUT.TXT OUTPUT.TXT
1 1 10 1 5 6

Задача №786
Игра с камешками
(Время: 1 сек. Память: 16 Мб Сложность: 32%)
В начале игры имеем N камешков. Играют двое. За один ход нужно разделить кучку на две неравные и забрать себе
меньшую. Проиграл тот, кто не смог этого сделать.

https://acmp.ru/index.asp?main=alltasks 448/591
2/29/2020 Все задачи сайта

Сколько камешков взяли бы Вы первым ходом, если рассчитываете на победу и ходите первым?

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

В единственной строке входного файла INPUT.TXT записано одно число - число камушков в кучке N (1 ≤ N ≤ 106).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число - количество взятых Вами первым ходом камушков, либо 0, если
выигрышного хода нет.

Пример
№ INPUT.TXT OUTPUT.TXT
1 7 3

Задача №787
Игра с пешкой
(Время: 1 сек. Память: 16 Мб Сложность: 31%)
В левой нижней клетке шахматной доски размера N×N стоит пешка. Двое игроков
по очереди двигают её, причём каждый может подвинуть её на одну клетку вверх или на
одну клетку вправо. На диагонали доски написаны числа a1, a2, …, aN. Когда пешка
попадает на диагональ, игра кончается и выигрыш первого игрока равен значению
числа, написанного в клетке с остановившейся пешкой. Напишите программу
определения гарантированного выигрыша первого игрока.

Входные данные
В первой строке входного файла INPUT.TXT записано число N (1 ≤ N ≤ 100). Во второй строке записаны натуральные
числа a1, a2, …, aN (1 ≤ ai ≤ 100).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – выигрыш первого игрока.

Пример
№ INPUT.TXT OUTPUT.TXT
8 5
1
3 1 4 1 5 9 2 6

Задача №788
Интересная игра c числами
(Время: 1 сек. Память: 16 Мб Сложность: 48%)
Рассмотрим следующую интересную игру для двух игроков. Для этой игры необходима таблица из 2-х строк и N
столбцов, в клетках которой записаны натуральные числа, следующего вида:
A1 A2 A3 ... AN
B1 B2 B3 ... BN
Игроки делают ходы по очереди. Начинает игру 1-й игрок.
За один ход 1-й игрок выполняет следующие два действия:

выбирает произвольный столбец (к примеру, j-й), который еще ни разу не был выбран одним из игроков на
предыдущих ходах;
прибавляет к своим очкам число Aj.

За один ход 2-й игрок выполняет следующие два действия:


https://acmp.ru/index.asp?main=alltasks 449/591
2/29/2020 Все задачи сайта

выбирает произвольный столбец (к примеру, j-й), который еще ни разу не был выбран одним из игроков на
предыдущих ходах;
прибавляет к своим очкам число Bj.

Игра заканчивается, когда какой-либо из игроков не сможет сделать ход (по той причине, что все столбцы уже были
выбраны). Изначально, у каждого из игроков есть 0 очков.
После того, как игра закончилась, происходит взаиморасчет между игроками. К примеру, 1-й игрок набрал S1 очков, а
2-й игрок - S2 очков. В случае, когда S1 > S2, 2-й игрок отдает 1-му игроку S1-S2 УДЕ (условных денежных единиц). В
противном случае, 1-й игрок отдает 2-му игроку S2-S1 УДЕ. С этих позиций, целью 1-го игрока является максимизация
величины S1-S2, а целью 2-го игрока - максимизация S2-S1.
Назовем стоимостью игры величину S1-S2 при оптимальной игре обоих игроков. Напишите программу, которая
определяет стоимость игры.

Входные данные
В первой строке входного файла INPUT.TXT записано натуральное число N - количество столбцов в таблице (1 ≤ N ≤
300000). Следующие N строк описывают числа в столбцах таблицы. i-я из этих строк содержит два натуральных числа Ai и
Bi, разделенные одним пробелом (1 ≤ Ai, Bi ≤ 3000).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число - стоимость игры.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1
1
1 1
2 0
2 1 1
1 1
3 2
1 2
3
3 4
5 6

Задача №789
Последовательность - 3
(Время: 1 сек. Память: 16 Мб Сложность: 37%)
Найдите n-й элемент строго возрастающей последовательности, которая описывается следующими правилами:

1. число 1 является элементом последовательности;


2. если a – элемент последовательности, то 2a, 3a, 5a тоже являются элементами последовательности;
3. последовательности принадлежат только элементы, заданные правилами 1 и 2.

Входные данные
Входной файл INPUT.TXT содержит одно натуральное число n (n ≤ 10000).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – n-й элемент последовательности.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 2

https://acmp.ru/index.asp?main=alltasks 450/591
2/29/2020 Все задачи сайта
2 9 10

Задача №790
Развлечения гномов
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Гномы свободно владеют системами счисления с разными основаниями и достигли они этого ежедневными
тренировками. Именно поэтому каждое утро у гномов начинается с того, что они текущую календарную дату переводят в
другую систему счисления. Ваше задание такое же: перевести заданную дату D/M/Y в систему счисления с основанием
D+1.
Для обозначения цифр больших 9 используются большие английские буквы в алфавитном порядке.

Входные данные
Входной файл INPUT.TXT содержит строку, содержащую дату в формате D/M/Y в десятичной системе счисления (1 ≤
D ≤ 31, 1 ≤ M ≤ 12, 1 ≤ Y ≤ 9999).

Выходные данные
В выходной файл OUTPUT.TXT выведите одну строку – дату в формате D/M/Y в системе счисления с основанием
D+1.

Пример
№ INPUT.TXT OUTPUT.TXT
1 1/10/2000 1/1010/11111010000

Задача №791
Соседние клетки
(Время: 1 сек. Память: 16 Мб Сложность: 22%)
Клетки шахматной доски пронумерованы числами от 1 до 64 по строкам слева направо и снизу вверх. Напишите
программу, которая по заданному номеру клетки определяет номера всех клеток, имеющих с ней общую сторону.

Входные данные
Входной файл INPUT.TXT содержит одно целое число от 1 до 64.

Выходные данные
В выходной файл OUTPUT.TXT выведите через пробел в порядке возрастания номера всех клеток, имеющих с
заданной общую сторону.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 1 3 10
2 64 56 63

Задача №792
Торговые сделки в Амбере
(Время: 1 сек. Память: 16 Мб Сложность: 21%)
В стране Амбер очень сложные торгово-финансовые отношения. Если один торговец хочет обменять свой товар на
товар другого торговца, тогда они идут в Торговую Гильдию Амбера. Наверное, вы подумали, что торговцы просто
обменяются товарами и уйдут в разные стороны довольными от выгодной сделки? Как бы не так! Законы в Амбере таковы,
что Торговая Гильдия может получить прибыль от сделки между двумя торговцами, равную нормирующему коэффициенту
одного из торговцев, только в том случае, когда нормирующие коэффициенты этих торговцев совпадут. Вы, наверное, не
знаете что такое нормирующий коэффициент в Амбере? Это не удивительно…

https://acmp.ru/index.asp?main=alltasks 451/591
2/29/2020 Все задачи сайта

Пусть торговцу N лет. В стране, откуда он приехал, для расчета операций с денежными единицами, действует система
счисления с основанием P. Его нормирующим коэффициентом называется сумма цифр числа N в системе счисления с
основанием P.
Напишите программу, которая покажет, сколько сможет заработать Торговая Гильдия после заключения сделки между
двумя торговцами.

Входные данные
В первой строке входного файла INPUT.TXT содержится данные о первом торговце - числа N1 и P1, а во второй –
данные о втором торговце – N2 и P2. Где N1 и N2 – возраст двух торговцев, которые хотят заключить сделку (0 ≤ N1, N2 ≤
2147483647), а P1 и P2 – основания систем счисления, действующие в их странах (2 ≤ P1, P2 ≤ 16).

Выходные данные
В выходной файл OUTPUT.TXT вывести, сколько заработает Торговая Гильдия после заключения сделки между
торговцами.

Примеры
№ INPUT.TXT OUTPUT.TXT
7 2 3
1
9 4
5 8 0
2
5 2
31 16 16
3
400 9

Задача №793
Числа Смита
(Время: 1 сек. Память: 16 Мб Сложность: 30%)
Число Смита — такое составное число, сумма цифр которого равняется сумме цифр всех его простых сомножителей.
Так, примером числа Смита может служить 202, поскольку 2 + 0 + 2 = 4 и 2 + 1 + 0 + 1 = 4 (202 = 2 * 101). Напишите
программу, которая для заданной последовательности чисел определяет, какие из них являются числами Смита.

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

Входной файл INPUT.TXT содержит не более 20 натуральных чисел в пределах от 4 до 106.

Выходные данные
В выходной файл OUTPUT.TXT выведите строку из 0 и 1 (1, если соответствующее число является числом Смита и 0
иначе).

Пример
№ INPUT.TXT OUTPUT.TXT
1 4 20 17 202 1001

Задача №794
Ролевая игра
(Время: 1 сек. Память: 16 Мб Сложность: 15%)
Вася готовит инвентарь для ролевой игры. В игре должны принять участие n игроков, каждый из которых будет
изображать персонажа фантастического мира. В процессе игры каждый персонаж будет обладать некоторым уровнем x,
который представляет собой целое число от 1 до m.
Для обозначения уровня планируется использовать специальные значки двух цветов. Белый значок обозначает один
уровень, а красный значок – k уровней. Игрок, изображающий персонажа с уровнем x, должен иметь a белых значков и b

https://acmp.ru/index.asp?main=alltasks 452/591
2/29/2020 Все задачи сайта

красных значков, чтобы сумма (a + b*k) была равна x. При этом персонажу не разрешается иметь более чем (k – 1) белых
значков.
Значки для игры готовятся заранее, однако уровни персонажей заранее неизвестны. Для успешного проведения игры
всем персонажам необходимо выдать соответствующее их уровням количество значков. Возникает вопрос: какое
минимальное суммарное количество значков необходимо подготовить для успешного проведения игры при любых уровнях
участвующих персонажей.
Требуется написать программу, которая по заданным числам n, m и k вычисляет минимальное количество значков,
которое необходимо подготовить для успешного проведения игры.

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

Входной файл INPUT.TXT содержит расположенные в одной строке три целых числа: n, m и k (1 ≤ n ≤ 104, 1 ≤ m ≤
105, 1 ≤ k ≤ 105).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число — минимальное количество значков, которое требуется
подготовить.

Пример
№ INPUT.TXT OUTPUT.TXT
1 3 4 2 9

Задача №795
Колесо Фортуны
(Время: 1 сек. Память: 16 Мб Сложность: 37%)
Развлекательный телеканал транслирует шоу «Колесо Фортуны». В процессе игры
участники шоу крутят большое колесо, разделенное на сектора. В каждом секторе этого
колеса записано число. После того как колесо останавливается, специальная стрелка
указывает на один из секторов. Число в этом секторе определяет выигрыш игрока.
Юный участник шоу заметил, что колесо в процессе вращения замедляется из-за того,
что стрелка задевает за выступы на колесе, находящиеся между секторами. Если колесо
вращается с угловой скоростью v градусов в секунду, и стрелка, переходя из сектора X к
следующему сектору, задевает за очередной выступ, то текущая угловая скорость движения
колеса уменьшается на k градусов в секунду. При этом если v ≤ k, то колесо не может
преодолеть препятствие и останавливается. Стрелка в этом случае будет указывать на сектор
X.
Юный участник шоу собирается вращать колесо. Зная порядок секторов на колесе, он
хочет заставить колесо вращаться с такой начальной скоростью, чтобы после остановки
колеса стрелка указала на как можно большее число. Колесо можно вращать в любом направлении и придавать ему
начальную угловую скорость от a до b градусов в секунду.
Требуется написать программу, которая по заданному расположению чисел в секторах, минимальной и максимальной
начальной угловой скорости вращения колеса и величине замедления колеса при переходе через границу секторов
вычисляет максимальный выигрыш.

Входные данные
Первая строка входного файла INPUT.TXT содержит целое число n – количество секторов колеса (3 ≤ n ≤ 100). Вторая
строка входного файла содержит n положительных целых чисел, каждое из которых не превышает 1000 — числа,
записанные в секторах колеса. Числа приведены в порядке следования секторов по часовой стрелке. Изначально стрелка
указывает на первое число.

Третья строка содержит три целых числа: a, b и k (1 ≤ a ≤ b ≤ 109, 1 ≤ k ≤ 109).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число – максимальный выигрыш.
https://acmp.ru/index.asp?main=alltasks 453/591
2/29/2020 Все задачи сайта

Примеры
№ INPUT.TXT OUTPUT.TXT
5 5
1 1 2 3 4 5
3 5 2
5 4
2 1 2 3 4 5
15 15 2
5 5
3 5 4 3 2 1
2 5 2

Пояснения к примерам
В первом примере возможны следующие варианты: можно придать начальную скорость колесу равную 3 или 4, что
приведет к тому, что стрелка преодолеет одну границу между секторами, или придать начальную скорость равную 5, что
позволит стрелке преодолеть 2 границы между секторами. В первом варианте, если закрутить колесо в одну сторону, то
выигрыш получится равным 2, а если закрутить его в противоположную сторону, то – 5. Во втором варианте, если
закрутить колесо в одну сторону, то выигрыш будет равным 3, а если в другую сторону, то – 4.
Во втором примере возможна только одна начальная скорость вращения колеса – 15 градусов в секунду. В этом случае
при вращении колеса стрелка преодолеет семь границ между секторами. Тогда если его закрутить в одном направлении, то
выигрыш составит 4, а если в противоположном направлении, то – 3.
Наконец, в третьем примере оптимальная начальная скорость вращения колеса равна 2 градусам в секунду. В этом
случае стрелка вообще не сможет преодолеть границу между секторами, и выигрыш будет равен 5.

Задача №796
Форматирование текста
(Время: 1 сек. Память: 16 Мб Сложность: 51%)
Многие системы форматирования текста, например TEX или Wiki, используют для разбиения текста на абзацы пустые
строки. Текст представляет собой последовательность слов, разделенных пробелами, символами перевода строк и
следующими знаками препинания: «,», «.», «?», «!», «-», «:» и «’» (ASCII коды 44, 46, 63, 33, 45, 58, 39). Каждое слово в
тексте состоит из заглавных и прописных букв английского алфавита и цифр. Текст может состоять из нескольких абзацев.
В этом случае соседние абзацы разделяются одной или несколькими пустыми строками. Перед первым абзацем и после
последнего абзаца также могут идти одна или несколько пустых строк.
Дальнейшее использование исходного текста предполагает его форматирование, которое осуществляется следующим
образом. Каждый абзац должен быть разбит на строки, каждая из которых имеет длину не больше w. Первая строка
каждого абзаца должна начинаться с отступа, состоящего из b пробелов. Слова внутри одной строки должны быть
разделены ровно одним пробелом. Если после слова идет один или несколько знаков препинания, они должны следовать
сразу после слова без дополнительных пробелов. Если очередное слово вместе со следующими за ним знаками
препинания помещается на текущую строку, оно размещается на текущей строке. В противном случае, с этого слова
начинается новая строка. В отформатированном тексте абзацы не должны разделяться пустыми строками. В конце строк не
должно быть пробелов.
Требуется написать программу, которая по заданным числам w и b и заданному тексту выводит текст,
отформатированный описанным выше образом.

Входные данные
Первая строка входного файла INPUT.TXT содержит два целых числа: w и b (5 ≤ w ≤ 100, 1 ≤ b ≤ 8, b < w). Затем
следует одна или более строк, содержащих заданный текст. Длина слова в тексте вместе со следующими за ними знаками
препинания не превышает w, а длина первого слова любого абзаца вместе со следующими за ним знаками препинания не
превышает (w – b). Текст содержит хотя бы одну букву. Перед первой буквой каждого абзаца знаков препинания нет.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать заданный текст, отформатированный в соответствии с приведенными
в условии задачи правилами. Размер входного файла не превышает 100 Кбайт. Длина каждой строки во входном файле не

https://acmp.ru/index.asp?main=alltasks 454/591
2/29/2020 Все задачи сайта

превышает 250.

Пример
№ INPUT.TXT OUTPUT.TXT
20 4 Yesterday, All
Yesterday, my troubles seemed
All my troubles seemed so far away, so far away, Now it
Now it looks as though they're here to stay, looks as though
Oh, I believe in yesterday. they' re here to
stay, Oh, I believe
1 Suddenly,
I'm not half the man I used to be,
in yesterday.
Suddenly, I' m
There's a shadow hanging over me, not half the man I
Oh, yesterday came suddenly... used to be, There' s
a shadow hanging
over me, Oh,
yesterday came
suddenly...

Задача №797
Космические исследования
(Время: 1 сек. Память: 16 Мб Сложность: 82%)
Отделу космических
исследований поступило
задание
сфотографировать из
космоса n объектов в
заданной области.
Область имеет форму
квадрата размером 50×50
километров. Если
разделить ее на квадраты
размером 1×1 километр,
то интересующие отдел
объекты окажутся в
центрах некоторых
единичных квадратов.
Введем систему
координат, направив ось
OX с запада на восток и
ось OY с юга на север.
Тогда каждому
единичному квадрату
будут сопоставлены координаты в диапазоне от 1 до 50, как показано на рисунке ниже.
Для космической съемки используется специальный фотоаппарат высокого разрешения, установленный на
космическом спутнике. Фотоаппарат может делать снимки квадратных участков земной поверхности размером k × k
километров. Исходно аппарат наведен на юго-западный угол заданной области, то есть, если сделать снимок, на нем будут
видны единичные квадраты с координатами x и y от 1 до k километров.
С помощью специальных двигателей можно изменять орбиту спутника, что приводит к изменению участка съемки. За
один день орбиту спутника можно изменить таким образом, что участок съемки сместится либо на один километр на
запад, либо на один километр на восток, либо на один километр на север. Переместить участок съемки на юг невозможно.
Непосредственно между перемещениями спутника можно сделать снимок, временем съемки можно пренебречь.
Руководство отдела заинтересовалось вопросом: за какое минимальное количество дней можно сделать снимки всех
объектов заданной области.
Требуется написать программу, которая по заданному расположению объектов и размеру снимка k определит
минимальное время, за которое можно сделать снимки всех объектов заданной области.

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

https://acmp.ru/index.asp?main=alltasks 455/591
2/29/2020 Все задачи сайта

Первая строка входного файла INPUT.TXT содержит два целых числа: n и k (1 ≤ n ≤ 1000, 1 ≤ k ≤ 5). Следующие n
строк содержат по два целых числа: xi и yi — координаты объектов в заданной области (1 ≤ xi, yi ≤ 50).

Выходные данные
В выходном файле OUTPUT.TXT должно содержаться одно целое число: минимальное количество дней, которое
требуется для получения снимков всех объектов в заданной области.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 1 30
1 1
1 10 2
1 3
10 4
4 2 10
1 1
2 10 2
1 3
10 4
1 1 0
3
1 1
3 3 7
3 3
4
3 6
6 3

Примеры
В первом примере возможна следующая последовательность действий: сделать снимок, 9 раз сместиться на восток,
сместиться на север, сделать снимок, 9 раз сместиться на запад, сместиться на север, сделать снимок, 9 раз сместиться на
восток, сместиться на север, сделать снимок. Всего требуется 30 перемещений участка съемки.
Во втором примере объекты расположены там же, но размер снимка больше, поэтому можно действовать так: сделать
снимок, сместиться на север, сделать снимок, 8 раз сместиться на восток, сделать снимок, сместиться на север, сделать
снимок. Всего требуется лишь 10 перемещений участка съемки.
В третьем примере перемещать участок съемки не требуется, можно просто сделать снимок.
Четвертый пример соответствует приведенному выше рисунку.

Задача №798
Шахматная доска - 2
(Время: 1 сек. Память: 16 Мб Сложность: 18%)
Аня разделила доску размера m × n на клетки размера 1×1 и
раскрасила их в черный и белый цвет в шахматном порядке. Васю
заинтересовал вопрос: клеток какого цвета получилось больше – черного
или белого.
Для того чтобы выяснить это, он спросил у Ани, в какой цвет она
раскрасила j-ю клетку в i-м ряду доски. По этой информации Вася
попытался определить, клеток какого цвета на доске больше.
Требуется написать программу, которая по размерам доски и цвету j-
й клетки в i-м ряду определит, клеток какого цвета на доске больше —
черного или белого.

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

https://acmp.ru/index.asp?main=alltasks 456/591
2/29/2020 Все задачи сайта

Входной файл INPUT.TXT содержит пять целых чисел: m, n, i, j и c (1 ≤ m, n ≤ 109, 1 ≤ i ≤ m, 1 ≤ j ≤ n, с = 0 или с = 1).
Значение c = 0 означает, что j-я клетка в i-м ряду доски раскрашена в черный цвет, а значение c = 1 – в белый цвет.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно из трех слов:

black, если черных клеток на доске больше,


white, если белых клеток на доске больше,
equal, если черных и белых клеток на доске поровну.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 5 1 1 0 black
2 3 5 2 1 0 white
3 4 4 1 1 1 equal

Задача №799
Чемпионат по стрельбе
(Время: 1 сек. Память: 16 Мб Сложность: 32%)
Победитель школьного этапа олимпиады по информатике нашел дома в старых бумагах результаты чемпионата
страны по стрельбе из лука, в котором участвовал его папа. К сожалению, листок с результатами сильно пострадал от
времени, и разобрать фамилии участников было невозможно. Остались только набранные каждым участником очки,
причем расположились они в том порядке, в котором участники чемпионата выполняли стрельбу.
Расспросив папу, школьник выяснил, что количество очков, которое набрал папа, заканчивается на 5, хотя бы один из
победителей чемпионата стрелял раньше, а папин друг, который стрелял сразу после папы, набрал меньше очков. Теперь
он заинтересовался, какое самое высокое место мог занять его папа на том чемпионате.
Будем считать, что участник соревнования занял k-е место, если ровно (k – 1) участников чемпионата набрали строго
больше очков, чем он. При этом победителями считались все участники чемпионата, занявшие первое место.
Требуется написать программу, которая по заданным результатам чемпионата определяет, какое самое высокое место
на чемпионате мог занять папа победителя школьного этапа олимпиады по информатике.

Входные данные
Первая строка входного файла INPUT.TXT содержит целое число n — количество участников чемпионата страны по
стрельбе (3 ≤ n ≤ 105). Вторая строка содержит n положительных целых чисел, каждое из которых не превышает 1000, —
очки участников чемпионата, приведенные в том порядке, в котором они выполняли стрельбу.

Выходные данные
В выходном файле OUTPUT.TXT должно содержаться одно целое число — самое высокое место, которое мог занять
папа школьника. Если не существует ни одного участника чемпионата, который удовлетворяет, описанным выше
условиям, выведите в выходной файл число 0.

Примеры
№ INPUT.TXT OUTPUT.TXT
7 6
1
10 20 15 10 30 5 1
3 1
2
15 15 10
3 0
3
10 15 20

https://acmp.ru/index.asp?main=alltasks 457/591
2/29/2020 Все задачи сайта

Задача №800
Делители - 2
(Время: 2 сек. Память: 16 Мб Сложность: 55%)
Натуральное число a называется делителем натурального числа b, если b = ac для некоторого натурального числа c.
Например, делителями числа 6 являются числа 1, 2, 3 и 6. Два числа называются взаимно простыми, если у них нет общих
делителей кроме 1. Например, 16 и 27 взаимно просты, а 18 и 24 – нет.
Будем называть нормальным набор из k чисел (a1, a2, …, ak), если выполнены следующие условия:

1. каждое из чисел ai является делителем числа n;


2. выполняется неравенство a1 < a2 < … < ak;
3. числа ai и ai+1 для всех i от 1 до k – 1 являются взаимно простыми;
4. произведение a1a2 … ak не превышает n.

Например, набор (2, 9, 10) является нормальным набором из 3 делителей числа 360.
Требуется написать программу, которая по заданным значениям n и k определяет количество нормальных наборов из k
делителей числа n.

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

Первая строка входного файла INPUT.TXT содержит два целых числа: n и k (2 ≤ n ≤ 108, 2 ≤ k ≤ 10).

Выходные данные
В выходном файле OUTPUT.TXT должно содержаться одно число – количество нормальных наборов из k делителей
числа n.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 90 3 16
2 10 2 4

Задача №801
Дом у дороги
(Время: 2 сек. Память: 16 Мб Сложность: 78%)
Министерство дорожного транспорта решило построить себе новый офис. Поскольку министр регулярно выезжает с
инспекцией наиболее важных трасс, было решено, что офис министерства не должен располагаться слишком далеко от
них.
Наиболее важные трассы представляют собой прямые на плоскости. Министерство хочет выбрать такое расположение
для своего офиса, чтобы максимум из расстояний от офиса до трасс был как можно меньше.
Требуется написать программу, которая по заданному расположению наиболее важных трасс определяет оптимальное
расположение дома для офиса министерства дорожного транспорта.

Входные данные
Первая строка входного файла INPUT.TXT содержит одно целое число n – количество наиболее важных трасс (1 ≤ n ≤
104).
Последующие n строк описывают трассы. Каждая трасса описывается четырьмя целыми числами x1, y1, x2 и y2 и
представляет собой прямую, проходящую через точки (x1, y1) и (x2, y2). Координаты заданных точек не превышают по
модулю 104. Точки (x1, y1) и (x2, y2) ни для какой прямой не совпадают.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать два разделенных пробелом вещественных числа: координаты точки,
в которой следует построить офис министерства дорожного транспорта. Координаты по модулю не должны превышать
https://acmp.ru/index.asp?main=alltasks 458/591
2/29/2020 Все задачи сайта

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

Ответ должен иметь абсолютную или относительную погрешность не более 10-6, что означает следующее. Пусть
максимальное расстояние от выведенной точки до некоторой трассы равно x, а в правильном ответе оно равно y. Ответ
будет засчитан, если значение выражения |x – y| / max{1, |y| } не превышает 10-6.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 0.5 0.5
0 0 0 1
1 0 0 1 0
1 1 2 1
1 1 1 2

Задача №802
Магический квадрат
(Время: 1 сек. Память: 16 Мб Сложность: 70%)
Магический квадрат - это квадратная таблица N x N, заполненная N2 числами от 1 до N2 таким
образом, что сумма чисел в каждой строке, каждом столбце и на обеих диагоналях одинакова. При 4 9 2
этом числа в таблице не должны повторяться и каждое из чисел от 1 до N2 должно в ней
присутствовать. 3 5 7
Требуется написать программу, которая по заданному N строит магический квадрат.

Входные данные
8 1 6
Во входном файле INPUT.TXT задано единственное натуральное число N - размерность магического квадрата (N ≤
1000).

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести магический квадрат - матрицу, состоящую из N строк по N
элементов в каждой. Если вариантов решения несколько, то можно вывести любой. В том случае, когда решение не
существует, следует вывести "Impossible".

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1
2 2 Impossible
3 4 9 2
3 3 5 7
8 1 6

Задача №803
Цифры после запятой
(Время: 1 сек. Память: 16 Мб Сложность: 26%)
По заданным натуральным числам A и B найти K-ю цифру после запятой в дроби A/B в десятичной системе
счисления.

Входные данные
В единственной строке входного файла INPUT.TXT записано три натуральных числа A, B и K через пробел. А и B –
цифры (числа от 1 до 9), число K не превышает 106.

Выходные данные
https://acmp.ru/index.asp?main=alltasks 459/591
2/29/2020 Все задачи сайта

В выходной файл OUTPUT.TXT нужно вывести ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 7 4 2 5
2 1 6 13 6

Задача №804
Лабиринт с тигром
(Время: 2 сек. Память: 32 Мб Сложность: 48%)
В средние века в замках Европы был популярен следующий вид казни: в лабиринт, в котором находился тигр,
заводили раба. Рабу была известна карта лабиринта и его первоначальное расположение. Тигр обладал очень тонким
обонянием, то есть он знал, где находится раб в любой момент времени и мог в кратчайшее время настигнуть раба и
съесть, если мог.
Дана схема лабиринта в виде таблицы N×M. Вход в лабиринт находится в левой верхней клетке. В этом же месте
находится раб в начальный момент времени. Выход из лабиринта находится в правой нижней клетке. Гарантируется, что
от входа до выхода существует путь и что тигр находится в свободной клетке лабиринта. Также известно, что лабиринт
ограничен сплошной стеной по периметру.
Необходимо определить длину кратчайшего пути раба до выхода, и сможет ли раб гарантированно выбраться из
лабиринта живым, если за единицу времени как раб, так и тигр, могут переместиться в соседнюю по стороне клетку в
произвольном свободном направлении (то есть туда, где нет стены).

Входные данные
Первая строка входного файла INPUT.TXT содержит два числа: N и M – длина и ширина лабиринта (4 ≤ N, M ≤ 1000).
Далее следует N строк по M символов – описание лабиринта. Символ «#» означает стену, а символ «.» - свободное
пространство, «T» - положение тигра в начальный момент времени.

Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите целое число – длину кратчайшего пути раба, во второй
строке выведите «Yes», если раб гарантированно сможет добраться до выхода, и «No» в противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
8 10 12
########## No
#.#...##.#
#.#..###.#
1 #.#.##...#
#.......##
#...###..#
#....T#..#
##########
8 10 12
########## Yes
#.#...##.#
#.#..###.#
2 #.#.##...#
#.......##
#..####..#
#....T#..#
##########

Задача №805
Атака инопланетян
https://acmp.ru/index.asp?main=alltasks 460/591
2/29/2020 Все задачи сайта

(Время: 1 сек. Память: 16 Мб Сложность: 36%)


На город Энск нападает флот инопланетян. Флот состоит из n космических
кораблей, каждый из которых имеет форму равнобедренного прямоугольного
треугольника. Носом инопланетного корабля считается вершина, угол при которой
прямой, а осью корабля называется высота, опущенная на гипотенузу.
Флот инопланетян прилетел с северо-востока, и застыл в таком положении, что
все оси кораблей направлены строго на юго-запад.
Единственный способ нанести урон инопланетной армии это пустить из
некоторой точки поверхности Земли лазерный луч вертикально вверх. Пущенный так
луч прожигает насквозь все вражеские корабли, через которые он проходит (даже те,
которые он задевает по границе). Но этот выстрел повредит инопланетянам только в
случае, если все n кораблей будут при этом поражены.
Военные власти города Энска решили нанести удар по вражеским войскам. Для
этого решено поставить лазер в одну из точек, над которыми находятся все n вражеских кораблей. Помогите военным
определить площадь территории, на которой можно поставить лазер.

Входные данные
В первой строке входного файла INPUT.TXT содержится целое число n количество инопланетных кораблей (1 ≤ n ≤
100). В каждой из следующих n строк описывается положение очередного корабля. Описание состоит из трех целых чисел
xi, yi и si, где xi и yi координаты носа, а si размер корабля. Поскольку корабль имеет форму равнобедренного
прямоугольного треугольника, размером корабля военные решили называть длину катета. Размеры кораблей
положительные числа, не превышающие 1 000. Координаты носов кораблей не превышают по абсолютной величине 105.

Выходные данные
В выходной файл OUTPUT.TXT выведите площадь территории, над которой находятся все инопланетные корабли.
Выведите ответ с точностью до трех знаков после десятичной точки.

Пример
№ INPUT.TXT OUTPUT.TXT
3 4.500
2 4 6
1
4 2 7
3 3 5

Задача №806
Белоснежка и n гномов
(Время: 1 сек. Память: 16 Мб Сложность: 46%)
Ну не гномы, а наказание какое-то! Подумала Белоснежка, в очередной раз пытаясь уложить гномов спать. Одного
уложишь, другой уже проснулся! И так всю ночь. У Белоснежки n гномов, и все они очень разные. Она знает, что для того,
чтобы уложить спать i-го гнома нужно ai минут, и после этого он будет спать ровно bi минут. Помогите Белоснежке узнать,
может ли она получить хотя бы минутку отдыха, когда все гномы будут спать, и если да, то в каком порядке для этого
нужно укладывать гномов спать.
Например, пусть есть всего два гнома, a1=1, b1=10, a2=10, b2=20. Если Белоснежка сначала начнет укладывать первого
гнома, то потом ей потребуется целых 10 минут, чтобы уложить второго, а за это время проснется первый. Если же она
начнет со второго гнома, то затем она успеет уложить первого и получит целых 10 минут отдыха.

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

Первая строка входного файла INPUT.TXT содержит число n (1 ≤ n ≤ 105), вторая строка содержит числа a1, a2, . . . an,
третья - числа b1, b2, . . . bn (1 ≤ ai, bi ≤ 109).

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

https://acmp.ru/index.asp?main=alltasks 461/591
2/29/2020 Все задачи сайта

В выходной файл OUTPUT.TXT выведите n чисел – порядок, в котором нужно укладывать гномов спать. Если
Белоснежке отдохнуть не удастся, выведите число −1.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 2 1
1 1 10
10 20
2 -1
2 10 10
10 10

Задача №807
Игра с графом
(Время: 1 сек. Память: 16 Мб Сложность: 83%)
Петя и Вася играют в очередную интересную игру. У них есть лист бумаги, на котором изображены n кружочков,
помеченных числами от 1 до n. Участники по очереди рисуют стрелочки, соединяющие кружочки. При этом стрелочку из
кружочка a в кружочек b разрешено проводить, если выполнены два условия:

1. еще нет стрелочки из a в b;


2. нельзя дойти по стрелочкам из b в a.

Например, в позиции на рис. 1 можно поставить одну из трех стрелочек (рис. 2).

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

Входные данные
Входной файл INPUT.TXT содержит одно число n (1 ≤ n ≤ 100).

Выходные данные
В выходной файл OUTPUT.TXT выведите число возможных позиций без ведущих нулей.

Пример
№ INPUT.TXT OUTPUT.TXT
1 3 25

Примечание
Приведем все 25 возможных позиций для примера из условия:

https://acmp.ru/index.asp?main=alltasks 462/591
2/29/2020 Все задачи сайта

Задача №808
Про любовь ...
(Время: 1 сек. Память: 16 Мб Сложность: 70%)
Паук и паучиха плывут по озеру на двух веточках. Плавать они не
умеют, поэтому смогут встретиться только тогда, когда веточки
соприкоснутся.
Считая, что веточки имеют форму отрезков, и что они плывут с
постоянными скоростями, определите, сколько осталось ждать встречи
несчастным членистоногим.

Входные данные
Входной файл INPUT.TXT содержит 12 чисел: x1, y1, x2, y2, x3, y3,
x4, y4, v1x, v1y, v2x, v2y. Координаты вершин первого отрезка: (x1, y1) и
(x2, y2), координаты вершин второго отрезка: (x3, y3) и (x4, y4), скорость
первого отрезка (v1x, v1y), скорость второго отрезка (v2x, v2y). Все числа
целые и не превосходят по модулю 104. В начальный момент времени
веточки не соприкасаются. Гарантируется, что веточки имеют ненулевую длину.

Выходные данные
Выведите в выходной файл OUTPUT.TXT время до ближайшего момента, когда веточки соприкоснутся, с ошибкой не
более 10−4. Если веточки не соприкоснутся никогда, выведите число −1.

Примеры
№ INPUT.TXT OUTPUT.TXT
0 0 -1 3 1.6
4 4 7 7
1
3 0
0 -1
0 0 -1 3 -1
4 4 7 7
2
1 0
0 -3

Задача №809
Спички детям не игрушка!
(Время: 1 сек. Память: 32 Мб Сложность: 65%)
Вася любит решать головоломки со спичками. Чаще всего они формулируется следующим образом: дано изображение
A, составленное из спичек; переложите в нем минимальное количество спичек так, чтобы получилось изображение B.
Например, из римского числа XIV можно получить ромб с диагональю, переложив всего три спички.
https://acmp.ru/index.asp?main=alltasks 463/591
2/29/2020 Все задачи сайта

Головоломки, которые решает Вася, всегда имеют решение. Это значит, что набор спичек, используемый в
изображении A, совпадает с набором спичек, используемым в изображении B. Кроме того, в одном изображении никогда
не встречаются две спички, у которых есть общий участок ненулевой длины (то есть спички могут пересекаться, но не
могут накладываться друг на друга). Вася устал решать головоломки вручную, и теперь он просит вас написать программу,
которая будет решать головоломки за него. Программа будет получать описания изображений A и B и должна найти
минимальное количество спичек, которые надо переложить в изображении A, чтобы полученная картинка получалась из B
параллельным переносом.

Входные данные
В первой строке входного файла INPUT.TXT содержится целое число n – количество спичек в каждом из изображений
(1 ≤ n ≤ 1000). В следующих n строках записаны координаты концов спичек на изображении A. Спичка номер i
описывается целыми числами x1i, y1i, x2i, y2i координатами ее концов. Следующие n строк содержат описание
изображения B в таком же формате. Набор длин этих спичек совпадает с набором длин спичек с изображения A. Все
координаты по абсолютной величине не превосходят 104. Все спички имеют ненулевую длину.

Выходные данные
Выведите в выходной файл OUTPUT.TXT минимальное количество спичек, которые следует переложить, чтобы
изображение A совпало с изображением B, с точностью до параллельного переноса.

Пример
№ INPUT.TXT OUTPUT.TXT
5 3
0 0 1 2
1 0 0 2
2 0 2 2
4 0 3 2
1 4 0 5 2
9 -1 10 1
10 1 9 3
8 1 10 1
8 1 9 -1
8 1 9 3

Задача №810
Число - 2
(Время: 1 сек. Память: 16 Мб Сложность: 58%)
По заданным числам a, b, c и d, найдите наименьшее натуральное число n, большее a∙c, которое нельзя представить в
виде произведения двух натуральных чисел u и v, таких, что a ≤ u ≤ b и c ≤ v ≤ d.

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

Входной файл INPUT.TXT содержит одну строку, состоящую из натуральных чисел a, b, c, d (1 ≤ a ≤ b ≤ 106, 1 ≤ c ≤ d ≤
106).

Выходные данные
В выходной файл OUTPUT.TXT выведите искомое число n.

Примеры

https://acmp.ru/index.asp?main=alltasks 464/591
2/29/2020 Все задачи сайта

№ INPUT.TXT OUTPUT.TXT
1 1 2 1 2 3
2 1 2 3 5 7

Задача №811
Шахматная мастерская
(Время: 1 сек. Память: 16 Мб Сложность: 30%)
Хозяин мастерской по изготовлению шахматных досок гроссмейстер Хосе Раулевич Капабланка был очень зол. «Ну,
кто так раскрашивает доски?! Ну скажи мне, Бобби, разве я тебя так учил раскрашивать доски?!» - спрашивал он у своего
подмастерья.
А дело было вот в чем. Недавно его мастерская получила заказ на изготовление нестандартной шахматной доски
размером N на M . Саму шахматную доску из дорогой породы дерева он изготовил, а раскрасить ее поля он поручил
своему подмастерью и ученику Бобби. Бобби, однако, справился с этой задачей очень плохо. Он раскрасил доску так, что
некоторые соседние поля оказались покрашенными в один цвет. А такого на шахматной доске никогда не было, и быть не
может!
Теперь у Бобби есть всего одна ночь на исправление своей ошибки. Казалось бы, времени много. Но все усложняется
тем, что перекрасить поле шахматной доски достаточно сложная задача, ведь надо аккуратно снять старый слой краски.
Поэтому Бобби хочет перекрасить наименьшее возможное число полей. Помогите ему написать программу, которая
найдет: какие поля доски ему надо перекрасить.
Единственным требованием к шахматной доске, которая должна получиться в результате, является то, что любые два
соседних поля покрашены в разные цвета. Ну, и, конечно, любое поле должно быть либо белым, либо черным.
Соседними полями на шахматной доске Хосе Раулевич считает поля, имеющие общую сторону.

Входные данные
Первая строка входного файла INPUT.TXT содержит два целых числа: N и M (1 ≤ N, M ≤ 100). Далее идут N строк по
M символов в каждой. j-ый символ i-ой из этих строк равен W, если Бобби покрасил соответствующее (т.е. находящееся на
пересечении i-ой горизонтали и j-ой вертикали) поле в белый цвет, и B, если в черный.

Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите минимальное количество k полей, которые должен
перекрасить Бобби.
Далее выведите k строк, описывающих поля, которые он должен перекрасить. Описание каждого поля должно
состоять из двух чисел: i и j (1 ≤ i ≤ N, 1 ≤ j ≤ M), задающих горизонталь и вертикаль, на пересечении которых находится
данное поле.
Ни одно поле не должно быть указано в этом списке дважды. Может оказаться так, что k = 0, и Хосе Раулевич зря
кричал на Бобби. Впрочем, это объясняется тем, что гроссмейстер уже весьма стар и его зрение далеко не идеально.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 4 8
BBBB 1 1
BBBB 1 3
BBBB 2 2
1 BBBB 2 4
3 1
3 3
4 2
4 4
3 3 0
WBW
2
BWB
WBW

https://acmp.ru/index.asp?main=alltasks 465/591
2/29/2020 Все задачи сайта

Задача №812
Сжатие последовательности
(Время: 1 сек. Память: 16 Мб Сложность: 69%)
Семен изобрел новый способ сжатия данных. Правда, он пока умеет сжимать только последовательность из N единиц.
Метод сжатия основывается на представлении последовательности из N единиц в виде последовательности из чисел от 1
до A, так, чтобы суммы членов обеих последовательностей совпадали (т.е. были равны N). Например, последовательность
1, 1, 1, 1, 1, при A = 3 может быть преобразована в последовательность 1, 2, 1, 1 или 2, 3 или другие последовательности.
Ваша задача – посчитать количество способов сжать заданную последовательность.

Входные данные
В единственной строке входного файла INPUT.TXT записано два числа N и A (1 ≤ A ≤ N ≤ 1000).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число без лидирующих нулей - ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 1 1
2 4 2 5

Пояснение
В примере № 2 последовательности, получающиеся при сжатии последовательности 1, 1, 1, 1 и A = 2: «1,1,1,1»,
«1,1,2», «1,2,1», «2,1,1» и «2,2».

Задача №813
Игра в 24
(Время: 1 сек. Память: 16 Мб Сложность: 62%)
«Игра в 24» - это математическая игра, в которой используются специальные карточки. На каждой карточке записаны
четыре числа. Задача игроков состоит в том, чтобы получить число 24, используя эти числа и арифметические операции
(сложение, вычитание, умножение и деление, скобки при этом можно расставить произвольным образом). «Игра в 24»
используется в некоторых школах при изучении математики в начальных классах.
В этой задаче рассматривается упрощенный вариант этой игры, в котором в число разрешенных операций входят
только сложение, вычитание и умножение.
Назовем карточку для упрощенной «Игры в 24» правильной, если из указанных на ней чисел с помощью сложения,
вычитания, умножения и расстановки скобок произвольным образом можно получить число 24.
Фирма American Card Manufacturer (ACM) занимается выпуском наборов карточек для этой игры. Однако, выпуск
таких карточек сопряжен с некоторыми трудностями. Одна из них состоит в том, что не любой набор из четырех чисел
задает «правильную» карточку.
По этой причине задача проверки «правильности» данной карточки является весьма актуальной. Ваша задача состоит
в написании программы, которая будет осуществлять указанную проверку.

Входные данные
Входной файл INPUT.TXT содержит четыре натуральных числа, не превосходящих 30, которые написаны на
исследуемой карточке.

Выходные данные
В выходной файл OUTPUT.TXT выведите слово YES, если карточка является правильной, и слово NO в противном
случае.

Примеры
https://acmp.ru/index.asp?main=alltasks 466/591
2/29/2020 Все задачи сайта

№ INPUT.TXT OUTPUT.TXT
1 1 2 3 4 YES
2 1 1 1 1 NO

Задача №814
Гипотеза Гольдбаха - 2
(Время: 1 сек. Память: 16 Мб Сложность: 32%)
Гипотеза Гольдбаха гласит, что любое четное число большее двух представимо в виде суммы двух простых чисел. Она
является одной из самых старых нерешенных задач математики. На март 2004 года, гипотеза Гольдбаха проверена для всех
четных чисел, больших 2 и не превышающих 1017.
Ваша задача будет несколько более общей. Задано число x. Необходимо найти число способов представить его в виде
суммы ровно двух простых чисел (представления, отличающиеся порядком слагаемых, следует считать одинаковыми).
Напомним, что простым называется натуральное число, большее единицы и делящееся только на единицу и на само
себя.

Входные данные
Входной файл INPUT.TXT содержит натуральное число x (4 ≤ x ≤ 10000).

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT Пояснение
1 4 1 4=2+2
2 10 2 10=3+7=5+5
3 11 0 11 непредставимо

Задача №815
Обходчик лабиринтов
(Время: 2 сек. Память: 16 Мб Сложность: 65%)
В скором времени на телеэкраны одной страны выйдет новое шоу «Двое в лабиринте». Его сюжет будет состоять в
том, что два участника будут помещены в лабиринт. Их целью является поиск выхода из данного лабиринта. Первый, кто
найдет выход, получит крупный денежный приз.
Однако, прежде чем шоу выйдет на экраны, лабиринты должны быть сертифицированы Государственным Бюро по
Сертификации Лабиринтов. В своей работе бюро использует специальные машины, называемые обходчиками лабиринтов.
Поскольку в силу специфики работы этих машин для каждого лабиринта приходится строить нового обходчика, Вам
поручено провести компьютерное моделирование обхода лабиринта обходчиком.
Лабиринт состоит из n комнат, соединенных m коридорами. На концах коридора имеются две двери, одна из которых
открывается только из коридора, в вторая только из комнаты, из которой коридор выходит, таким образом, движение по
коридору разрешено только в одну сторону. Кроме этого, каждый из коридоров покрашен в один из k цветов (это сделано
для того, чтобы немного облегчить участникам нахождение выхода из лабиринта). Цвет коридора указан на
соответствующей ему двери в комнате, из которой он выходит. При этом из комнаты могут выходить несколько коридоров
одного цвета.
Обходчик лабиринтов работает по программе, которая состоит из l инструкций. Каждая инструкция – это номер цвета
(число от 1 до k). Обход лабиринта начинается в комнате номер s и совершается следующим образом: обходчик
поочередно считывает инструкции и на каждом шаге выбирает один из коридоров, покрашенных в цвет, указанный в этой
инструкции. Если такого коридора не находится, то обходчик «зависает».
Так как на каждом шаге у обходчика может быть не один вариант выбора коридора, то комната, в которой он окажется
после выполнения программы может определяться неоднозначно.

https://acmp.ru/index.asp?main=alltasks 467/591
2/29/2020 Все задачи сайта

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

Входные данные
Первая строка входного файла INPUT.TXT содержит три целых числа: n, m, k (1 ≤ n, k ≤ 1000, 0 ≤ m ≤ 10000). Далее
идут m строк, описывающих коридоры. Описание каждого коридора состоит из трех целых чисел: u, v, c (1 ≤ u, v ≤ n, 1 ≤ c
≤ k). Их значения таковы: u - номер комнаты, из которой выходит коридор, v - номер комнаты, в которую ведет коридор, c
цвет этого коридора. Коридор может вести из комнаты в саму себя, между двумя комнатами может существовать несколько
коридоров (более того, несколько коридоров одного цвета).
(m+2)-ая строка входного файла содержит целое число l (1 ≤ l ≤ 1000). (m+3)-ая строка содержит l целых чисел от 1 до
k – программы для обходчика лабиринта.
Последняя строка входного файла содержит целое число s (1 ≤ s ≤ n).

Выходные данные
В выходной файл OUTPUT.TXT следует вывести слово Hangs в случае, если обходчик «зависает» независимо от того,
какие коридоры он выбирает при существовании нескольких коридоров одного цвета.
Иначе, выведите на первой строке выходного файла слово OK, во второй – количество r комнат, в которых обходчик
может оказаться после выполнения программы. В третьей строке выходного файла в этом случае выведите номера этих
комнат в возрастающем порядке.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 6 2 OK
1 2 1 2
1 2 2 3 4
1 3 1
1 3 2
1
3 4 2
3 3 2
2
1 2
1
4 6 2 Hangs
1 2 1
1 2 2
1 3 1
1 3 2
2
3 4 1
3 3 1
2
1 2
1

Задача №816
Система пересекающихся множеств
(Время: 1 сек. Память: 16 Мб Сложность: 35%)
На вступительном экзамене в один из крупнейших университетов нашей страны Вам предложили реализовать
структуру данных для хранения множеств натуральных чисел.
Структура данных должна хранить n множеств, в каждое из которых могут входить натуральные числа от 1 до m, при
этом одно и то же число может принадлежать нескольким множествам одновременно. Необходимо реализовать операции
добавления элемента в множество, вывода всех элементов множества и вывода номеров всех множеств, в которых лежит
данный элемент.
Реализуйте описанную структуру данных.

Входные данные
https://acmp.ru/index.asp?main=alltasks 468/591
2/29/2020 Все задачи сайта

Первая строка входного файла INPUT.TXT содержит натуральные числа m и n (1 ≤ m, n ≤ 100). Вторая строка входного
файла содержит натуральное число k –количество операций со структурой данных, которые необходимо выполнить (0 ≤ k
≤ 105).
Последующие k строк описывают эти операции. Описание операции может иметь один из трех форматов:

ADD element set – добавить элемент element (1 ≤ element ≤ m) в множество номер set (1 ≤ set ≤ n);
LISTSET set – вывести все элементы множества номер set (1 ≤ set ≤ n);
LISTSETSOF element – вывести номера всех множеств, содержащих элемент element (1 ≤ element ≤ m).

Общее количество операций LISTSET и LISTSETSOF не превышает 1000.

Выходные данные
Для каждой операции LISTSET или LISTSETSOF в выходной файл OUTPUT.TXT выведите соответствующий список
элементов (или номеров множеств) в порядке возрастания. Если список пуст, выведите -1. Порядок вывода должен
соответствовать порядку, в котором операции заданы во входном файле.

Примеры
№ INPUT.TXT OUTPUT.TXT
10 10 1 2
5 1 2
ADD 1 1
1 ADD 1 2
ADD 2 1
LISTSET 1
LISTSETSOF 1
10 10 -1
3 1
2 ADD 1 1
LISTSET 10
LISTSET 1

Задача №817
Манхэттенские улицы
(Время: 1 сек. Память: 16 Мб Сложность: 17%)
Система улиц Нью-Йоркского района Манхеттен весьма интересна. В Манхеттене есть n улиц, идущие с запада на
восток (авеню), и m улиц, идущие с севера на юг (просто улицы). Ширина каждого авеню и каждой улицы равна d метров,
а длина – k метров. При этом каждая улица пересекает каждый авеню и не имеет общих точек с другими улицами, а
каждый авеню пересекает каждую улицу и не имеет общих точек с другими авеню.
Разумеется, все авеню и улицы имеют асфальтовое покрытие. Дорожно-ремонтные службы интересуются: сколько
квадратных метров асфальта уложено на все авеню и улицы. На перекрестках, без сомнения, асфальт уложен в один слой.
Напишите программу, вычисляющую ответ на их вопрос.

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

Входной файл INPUT.TXT содержит четыре натуральных числа n, m, d, k (1 ≤ n, m, d, k ≤ 109, k > m∙d, k > n∙d).

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1 5 10 75
2 100 10 23 4560 11007800

https://acmp.ru/index.asp?main=alltasks 469/591
2/29/2020 Все задачи сайта

Задача №818
Кипячение чая
(Время: 1 сек. Память: 16 Мб Сложность: 14%)
В эту субботу у Васи день рождения и через 15 минут к нему придут гости. Ему срочно надо вскипятить чай, для того
чтобы напоить им гостей. У Васи дома есть много литровых чайников (можно считать, что их бесконечное количество), а
розетка всего одна. Т.к. вода кипятится очень долго, за 15 минут она успеет вскипятиться максимум один раз. Но Вася –
мальчик не промах, он достал из кладовки N тройников, в i-том тройнике ai разъемов. Теперь Вася ломает голову: как ему
соединить тройники и воткнуть эту систему в розетку, чтобы максимизировать количество чайников, которые он сможет
поставить кипятить.
Ваша задача заключается в написании программы, которая определит максимальное число чайников, которые
возможно использовать для кипячения чая, используя данные тройники.

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

В первой строке входного файла INPUT.TXT содержится число N (1 ≤ N ≤ 105) – количество тройников. Во второй
строке через пробел перечислены числа ai (1 ≤ ai ≤ 1000, 1 ≤ i ≤ N) – информация о тройниках.

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1
1
1
3 9
2
2 5 4

Задача №819
Прямоугольный параллелепипед
(Время: 1 сек. Память: 16 Мб Сложность: 10%)
Прямоугольный параллелепипед - это объемная фигура, у
которой шесть граней, и каждая из них является
прямоугольником. Моделями прямоугольного параллелепипеда
служат классная комната, кирпич, спичечная коробка. Длины
трех ребер прямоугольного параллелепипеда, имеющих общий
конец, называют его измерениями. На приведенном рисунке
измерения представлены ребрами AB, BC и BF с общим концом в
точке B, а значения измерений равны их длинам a, b и c
соответственно.
По заданным измерениям прямоугольного параллелепипеда
Вам необходимо определить площадь его поверхности и объем.

Входные данные
Единственная строка входного файла INPUT.TXT содержит разделенные пробелом три натуральных числа A, B и С –
измерения параллелепипеда, каждое из измерений не превышает 106.

Выходные данные
В выходной файл OUTPUT.TXT выведите через пробел два целых числа: площадь поверхности и объем заданного
параллелепипеда.

Примеры
№ INPUT.TXT OUTPUT.TXT

https://acmp.ru/index.asp?main=alltasks 470/591
2/29/2020 Все задачи сайта
1 1 1 1 6 1
2 2 3 4 52 24

Задача №820
Игра «Flip-Flop»
(Время: 1 сек. Память: 16 Мб Сложность: 54%)
В игре «Flip-Flop» используется прямоугольное поле 4×4 с
двухсторонними фишками, расположенными на каждом из 16 квадратов.
Одна сторона каждой фишки имеет черный цвет, а другая – белый. При
каждом ходе происходит выбор клетки, рядом с которой (слева, справа,
сверху, снизу и в центре) происходит инверсия от 3х до 5ти фишек таким
образом, что они меняют свой цвет на противоположный.
Рассмотрим в качестве примера следующую позицию:
bwbw
wwww
bbwb
bwwb

Здесь «b» обозначает черный цвет лицевой стороны фишки, а «w» -


белый. Если мы в качестве хода выбираем поле, расположенное в 3й строке
и 1м столбце, то результат будет следующим:
bwbw
bwww
wwwb
wwwb

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

Входные данные
Входной файл INPUT.TXT содержит 4 строки по 4 символа «w» или «b» в каждой, описывающие цвета фишек.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число – минимальное количество ходов, необходимых для
достижения цели. Если исходная доска уже имеет набор фишек одинакового цвета, то следует вывести 0. Если решения не
существует, то следует вывести слово «Impossible».

Примеры
№ INPUT.TXT OUTPUT.TXT
wbww 2
bbww
1
wwbb
wwbw
bwbw Impossible
wwww
2
bbwb
bwwb

Задача №821
Пятнашки
(Время: 1 сек. Память: 16 Мб Сложность: 35%)
Пятнашки – популярная головоломка, представляющая собой набор одинаковых квадратных костяшек с нанесёнными
числами, заключённых в квадратную коробку, имеющей размер 4х4. Цель игры — перемещая костяшки по коробке
добиться упорядочивания их по номерам (как показано на рисунке), желательно сделав как можно меньше перемещений.
Известно, что не любое размещение костяшек на доске позволяет получить решаемую задачу.

https://acmp.ru/index.asp?main=alltasks 471/591
2/29/2020 Все задачи сайта

Рассмотрим более общую игру для доски N x N, где будет использоваться N2-1 костяшек с
числами. Самый надежный способ получить решаемую головоломку – это провести
последовательность произвольных ходов из конечного решенного состояния. Такой набор
действий удобно представить в виде последовательности символов, обозначающих направления
движения пустого места на доске. Пусть «U», «D», «L» и «R» – возможные направления
движения, обозначающие «вверх», «вниз», «влево» и «вправо» соответственно. Игровую коробку
удобно представить матрицей, а костяшки – числами. Пустое место будем обозначать цифрой «0».
Например, для N=3 первоначально мы будем иметь следующую доску:

1 2 3
4 5 6
7 8 0
После команды «ULD» мы получим следующее состояние:

1 2 3
4 8 5
7 0 6
Заметим, что команда «URLD» невыполнима в связи с невозможностью на втором ходе передвинуть пустое поле
вправо.
По заданному размеру поля и последовательности команд требуется определить конечное состояние игрового поля.

Входные данные
Первая строка входного файла INPUT.TXT содержит натуральное число N – размерность игрового поля (N ≤ 20). Во
второй строке располагается последовательность команд (не более 104 действий), содержащая только символы «U», «D»,
«L» и «R», записанные слитно.

Выходные данные
В выходной файл OUTPUT.TXT выведите таблицу конечного состояния игрового поля. В том случае, когда команда не
выполнима, в выходной файл следует вывести только текст «ERROR K», где K – номер хода, на котором произошла
ошибка. При выводе допускается использование избыточных пробелов и переносов строк.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 8 1 3
1 ULDLURULD 0 2 5
4 7 6
2 ERROR 2
2
URL

Задача №822
Площадь треугольника
(Время: 1 сек. Память: 16 Мб Сложность: 15%)
По целочисленным координатам вершин треугольника (x1,y1), (x2,y2) и (x3,y3) требуется вычислить его площадь.

Входные данные
Входной файл INPUT.TXT содержит 6 целых чисел x1,y1,x2,y2,x3,y3 – координаты вершин треугольника. Все числа не
превышают 106 по абсолютной величине.

Выходные данные
В выходной файл OUTPUT.TXT выведите точное значение площади заданного треугольника.

https://acmp.ru/index.asp?main=alltasks 472/591
2/29/2020 Все задачи сайта

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 1 2 4 6 1 6
2 0 0 0 3 3 0 4.5

Задача №823
Мусорщик
(Время: 1 сек. Память: 16 Мб Сложность: 45%)
Всем известно, что работа уборщицы становится все менее престижной, чем
работа программиста. Поэтому, все больше становится программистов и все
меньше уборщиц. И скоро, возможно, совсем некому будет делать уборку
помещений, а чистота – она всегда актуальна и важна для работы, например, для
тех же программистов.
Сотрудники одной из фирм разработали специальную машину
«Мусорщик-001», которая предназначена для уборки прямоугольных пустых
помещений. Машина не совершенна и может пока двигаться на 1 метр только
влево, вправо и вперед (вдоль оси OY). Каждое помещение можно разбить на
квадратные сектора со стороной в 1 метр и обозначить те, которые загрязнены.
Для уборки помещения достаточно, чтобы машина-уборщик побывала в каждом
из загрязненных секторов. Известно, что перед уборкой машина всегда находится
в клетке (1,1) .
Одна из компаний, где в штате нет уборщицы, но имеется полный штат
программистов, приобрела «Мусорщик-001». Пока программистам никак не
удается написать программу, определяющую по заданному плану загрязнения помещения минимально возможную длину
маршрута машины-уборщика, необходимого для уборки данной территории. Возможно, Вам удастся им помочь!

Входные данные
Первая строка входного файла INPUT.TXT содержит натуральное число n (n ≤ 1000). Следующие n строк содержат по
два натуральных числа: xi и yi – координаты загрязненных секторов в заданном помещении (xi, yi ≤ 50).

Выходные данные
В выходной файл OUTPUT.TXT выведите целое число, соответствующее минимальной длине маршрута в метрах,
необходимого для уборки.

Пример
№ INPUT.TXT OUTPUT.TXT
7 18
2 1
3 2
5 2
1
5 4
1 4
3 6
6 6

Задача №824
Транспортная компания
(Время: 1 сек. Память: 16 Мб Сложность: 84%)
Транспортная компания «Crash & Co» занимается перевозкой запчастей для машин. Недавно в России открылось N
отделений этой компании. Руководство компании приняло решение купить часть дорог между своими отделениями, чтобы
обезопасить свои фуры от аварий. При этом купленных дорог должно быть по возможности минимальное количество, но
они должны давать возможность добраться из любого отделения в любое другое. Вам, как программисту отдела покупок,
было поручено в кратчайшие сроки определить количество различных вариантов покупки требуемого набора дорог.

https://acmp.ru/index.asp?main=alltasks 473/591
2/29/2020 Все задачи сайта

Входные данные
В первой строке входного файла INPUT.TXT записано количество отделений компании N (1 ≤ N ≤ 20), и число
различных дорог, соединяющих отделения M (1 ≤ M ≤ 5000). В следующих M строках записаны пары различных номеров
отделений ai, bi (1 ≤ ai, bi ≤ N), соединенных дорогой.

Выходные данные
В выходной файл OUTPUT.TXT выведите требуемое количество способов.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 4 4
1 2
1 2 3
3 4
4 1
4 3 1
1 2
2
2 3
3 4

Пояснение
В первом примере возможны следующие варианты покупки дорог:

Задача №825
Китайская игра «Цзяньшидзы»
(Время: 1 сек. Память: 16 Мб Сложность: 69%)
В древнем Китае было придумано множество интересных игр. Все знают очень известную игру «Majong». В данной
задаче мы рассмотрим другую интересную китайскую игру «Цзяньшидзы». Кратко сформулируем правила игры:
Из двух куч каменей, двое играющих поочередно могут брать:

1. Произвольное ненулевое число камней из одной кучи.


2. Одновременно по одинаковому произвольному ненулевому числу камней из обеих куч.

Выигрывает тот, кто возьмет своим ходом последний камень.


Не сложно определить в каких случаях выигрывает первый, а в каких случаях выигрывает второй игрок. Задача
сводится к нахождению так называемых проигрышных пар (ai, bi), означающих, что при кучах камней содержащих ai и bi
камней проигрывает тот, кто в данный момент совершает свой ход. Вам предстоит решить эту задачу, но немного в другом
виде.
Обозначим проигрышную, для ходящего позицию, когда в кучках a и b камней (a, b). Так как порядок куч не играет
роли, то всегда будем считать, что a ≤ b. Упорядочим все проигрышные позиции в лексикографическом порядке, иначе
говоря:
(a1, b1) < (a2, b2), если (a1< a2) или ((a1= a2) и (b1< b2)).

Занумеруем проигрышные пары, начиная с 0. Ваша задача: найти k-ю пару проигрышных куч.

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

https://acmp.ru/index.asp?main=alltasks 474/591
2/29/2020 Все задачи сайта

В первой строке входного файла INTPUT.TXT находится число N, (1 ≤ N ≤ 1000) - количество тестов в файле. В
следующих N строках содержатся числа ki, (0 ≤ ki ≤ 109) порядковый номер пары проигрышных куч, которую требуется
найти.

Выходные данные
В выходной файл OUTPUT.TXT выведите N пар чисел (aki, bki) по одной в каждой строке.

Пример
№ INPUT.TXT OUTPUT.TXT
3 0 0
0 1 2
1
1 3 5
2

Задача №826
Жизнь цвета индиго
(Время: 2 сек. Память: 32 Мб Сложность: 53%)
Мальчику Севе очень нравится цвет индиго (это такой темно-синий цвет). Сева всячески старается окружить себя
вещами этого цвета.
Скоро Новый год, и Сева решил изготовить гирлянду с лампочками, чтобы украсить ей свою комнату. Он купил n
патронов для лампочек и соединил (n−1)-им проводом так, что в гирлянде не образовалось ни одного замкнутого контура.
Его гирлянда, таким образом, с точки зрения математики, представляет собой дерево. Для того чтобы гирлянда была
готова, осталось совсем немного надо только добавить провод для подключения гирлянды в электрическую сеть и
вкрутить разноцветные лампочки в патроны.
У Севы есть лампочки трех разных цветов: синего, фиолетового и индиго. При этом, в некоторые патроны из
соображений красоты нельзя устанавливать лампочки определенных цветов. Также, из соображений красоты, в гирлянде
не должно быть двух лампочек одного цвета, напрямую соединенных проводом. Разумеется, Сева хочет, чтобы в гирлянде
было как можно больше лампочек его любимого цвета.
Помогите Севе. Напишите программу, которая найдет максимальное количество лампочек цвета индиго, которые
можно установить в собранную Севой гирлянду.

Входные данные
Первая строка входного файла INPUT.TXT содержит целое число n количество патронов для лампочек в Севиной
гирлянде (1 ≤ n ≤ 50000). Последующие (n−1) строка содержат каждая по два числа: ui и vi (1 ≤ ui, vi ≤ n) – номера
патронов, соединенных соответствующим проводом.
Далее следуют n строк с описанием патронов. Каждая из них не пуста и состоит не более, чем из трех различных
символов «I», «B» или «V». i-ая из этих строк описывает i-ый патрон, а именно: если она содержит символ «I», то в i-ый
патрон можно устанавливать лампочку цвета индиго, «B» - можно устанавливать лампочку синего цвета, «V» - можно
устанавливать лампочку фиолетового цвета.

Выходные данные
В выходной файл OUTPUT.TXT выведите единственное число: ответ на задачу. Если же при наложенных
ограничениях Севе вообще не удастся собрать гирлянду, выведите число −1.

Пример
№ INPUT.TXT OUTPUT.TXT
3 2
1 2
2 3
1
IB
IV
IB

https://acmp.ru/index.asp?main=alltasks 475/591
2/29/2020 Все задачи сайта

Задача №827
Фруктовый сок
(Время: 1 сек. Память: 32 Мб Сложность: 66%)
Женя недавно купил себе новую соковыжималку. Теперь по утрам он и его братья и сестры пьют свежевыжатый
фруктовый сок. А это, между прочим, очень полезно! Недавно они поняли, что можно пить сок, выжатый не только из
одного вида фруктов, как, например, апельсиновый, но и различные смеси, например, виноградно-яблочный.
В Жениной семье все очень любят сок, поэтому могут утром выпить не один стакан, причем разных видов сока.
Например, его сестра Катя очень любит грейпфрутовый и апельсиновый соки. Женя, как наиболее технически грамотный
человек, каждое утро занимается приготовлением соков.
Опишем подробнее, как работает соковыжималка. В нее загружаются фрукты, они проходят отжим в центрифуге,
обезвоженная мякоть сбрасывается в отдельный резервуар, а сок попадает в специальную емкость.
Основная проблема состоит в том, что эту емкость иногда приходится мыть. Например, если после приготовления
апельсинового сока, необходимо приготовить яблочный, то емкость надо мыть, иначе получится апельсиново-яблочный
сок. Более формально, пусть сок A состоит из компонентов a1, ... , an, а сок B - из компонентов b1, ... , bm. Сок B можно
готовить после сока A, если любой из компонентов сока A является компонентом сока B. В противном случае емкость для
сока надо помыть.
Женя не очень любит мыть посуду, поэтому хочет мыть емкость как можно меньшее число раз. Помогите ему.

Входные данные
Первая строка входного файла INPUT.TXT содержит натуральное число N – количество различных соков, которые
требуется приготовить (N ≤ 300). Каждая из последующих N строк описывает один из соков. Описание сока состоит из
числа k его компонентов (1 ≤ k ≤ 300) и списка этих компонентов. Каждый из компонентов сока описывается словом
длиной до 30 символов из строчных и прописных букв английского алфавита. Прописные и строчные буквы различаются.
Различные компоненты имеют различные названия.

Выходные данные
В выходной файл OUTPUT.TXT выведите минимальное количество раз, которое Жене придется помыть емкость для
сока. Учитывайте при этом, что емкость для сока надо помыть и после приготовления последней порции сока.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 2
1 Apple
1 2 Apple Orange
1 Orange
2 Orange Pineapple
3 3
1 Apple
2
1 Orange
1 Mango

Задача №828
Красивые последовательности
(Время: 2 сек. Память: 64 Мб Сложность: 56%)
Математики – люди, весьма ценящие красоту. Они умеют находить ее даже в объектах, к которым, по мнению
большинства, это понятие даже не может быть применимо. Например, недавно один математик, занимавшийся изучением
последовательностей натуральных чисел, заметил, что некоторые из последовательностей отличаются необычайной
красотой. Особенно красивыми он посчитал последовательности a1, ... , an длины n из чисел от 1 до k, обладающие
следующими свойствами:

a1=1;
если ai=M , i > 1, то найдется j < i : aj=M-1, либо M=1.

https://acmp.ru/index.asp?main=alltasks 476/591
2/29/2020 Все задачи сайта

Примером такой последовательности для n = 5, k = 3 является «1, 1, 2, 3, 1», а последовательность «1, 3, 1, 4» не


является особенно красивой ни для каких n и k.
Ваша задача состоит в нахождении числа особенно красивых последовательностей для заданных n и k.

Входные данные
Входной файл INPUT.TXT содержит два целых числа: n и k (1 ≤ n, k ≤ 500).

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 3 5
2 7 6 876

Задача №829
Строки - 3
(Время: 2 сек. Память: 32 Мб Сложность: 60%)
Циклическим сдвигом строки s называется строка sksk+1sk+2…s|s|s1s2…sk-1 для некоторого k, здесь |s| - длина строки s.
Подстрокой строки s называется строка sisi+1…sj-1sj для некоторых i и j. Вам даны две строки a и b. Выведите количество
подстрок строки a, являющихся циклическими сдвигами строки b.

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

Первая строка входного файла INPUT.TXT содержит строку a (1 ≤ |a| ≤ 105). Во второй строке входного файла
записана строка b (1 ≤ |b| ≤ |a|). Обе строки состоят только из символов английского алфавита и цифр.

Выходные данные
В выходной файл OUTPUT.TXT выведите целое число – ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
abcabc 4
1
abc
abcabc 0
2
acb
aaaaaaa 6
3
aa
aAaa8aaAa 4
4
aAa

Задача №830
Странная таблица
(Время: 1 сек. Память: 16 Мб Сложность: 81%)
Вася нарисовал таблицу из N+1 строки и M+1 столбца и заполнил ее по строкам целыми неотрицательными числами
по следующему правилу:

Иными словами, Ai,j – минимальное целое неотрицательное число, которое не встречалось или выше или левее в
таблице.
https://acmp.ru/index.asp?main=alltasks 477/591
2/29/2020 Все задачи сайта

Например, при N=1 и M=2 получается следующая таблица:

Теперь ему интересно посчитать сумму

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

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

Входной файл INPUT.TXT содержит числа N и M (1 ≤ N, M ≤ 109).

Выходные данные
В выходной файл OUTPUT.TXT выведите искомую сумму.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1 2
2 1 2 7

Задача №831
Снова про простые числа
(Время: 1 сек. Память: 16 Мб Сложность: 27%)
Найдите простое число из отрезка [a, b] с максимальной суммой цифр. Если таких чисел несколько, выберите из них
максимальное.
Напомним, что простым называется натуральное число, большее единицы и делящееся только на единицу и на само
себя.

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

Входной файл INPUT.TXT содержит два целых числа: a и b (1 ≤ a ≤ b ≤ 108, b−a ≤ 1000).

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу. Если указанный отрезок не содержит простых чисел,
выведите в выходной файл -1.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 13 7
2 900 1000 997
3 8 10 -1

Задача №832
Игра в фишки
(Время: 1 сек. Память: 16 Мб Сложность: 48%)
Вот уже 10 лет дядя Семен работает сторожем на складе, где хранятся старые процессоры. Его работа чрезвычайно
скучна, поэтому все рабочее время он играет в увлекательную игру.

https://acmp.ru/index.asp?main=alltasks 478/591
2/29/2020 Все задачи сайта

Семен берет A фишек красного цвета, B фишек синего цвета и C зеленого цвета. За один ход он может заменить две
фишки разных цветов на одну фишку третьего цвета. Считается, что Семен «сыграл» игру, если после некоторого
количества ходов осталась одна фишка.
За 10 лет Семен так научился играть в эту игру, что для произвольных неотрицательных A, B, C он сразу может
сказать: можно ли «сыграть» игру или нет.
Ваша задача – научиться это делать за более короткий срок.

Входные данные
В первой строке входного файла INPUT.TXT записано натуральное число N – число тестов (1 ≤ N ≤ 1000). В каждой из
последующих N строк содержится тест: три целых числа: A, B и C (0 ≤ A, B, C ≤ 263 − 1).

Выходные данные
В выходной файл OUTPUT.TXT для каждого теста выведите «Yes», если «сыграть» игру можно, иначе выведите «No».
Ответ для каждого теста должен располагаться в отдельной строке.

Пример
№ INPUT.TXT OUTPUT.TXT
2 Yes
1 1 0 0 No
1 1 1

Задача №833
Преобразование ДНК
(Время: 1 сек. Память: 16 Мб Сложность: 36%)
Биологи лаборатории Advanced Cellular Mechanics Lab. (ACM Lab.) занимаются исследованиями в области геномов и
ДНК. Недавно в этой лаборатории была разработана технология, позволяющая достаточно дешево производить с цепочкой
ДНК некоторые преобразования.
Представим себе цепочку ДНК как строку длины n из символов из множества {A, G, C, T}. Элементарное
преобразование, которое умеют проводить биологи лаборатории, представляет собой разворот подстроки с l-ого по r-ый
символ (целые числа l и r выбираются так, что 1 ≤ l ≤ r ≤ n). Таким образом, из строки a1a2 ... alal+1 ... ar−1ar ... an
получается строка a1a2 ... arar−1 ... al+1al ... an.
Теперь биологи разрабатывают аппаратно-программный комплекс для выполнения преобразований ДНК. Одной из его
функций будет преобразование исходной цепочки ДНК в требуемую.
Ваша задача – написать программу, которая по исходной и требуемой цепочкам ДНК будет находить необходимую для
этого цепочку элементарных преобразований.

Входные данные
Первая строка входного файла INPUT.TXT содержит описание исходной цепочки ДНК, вторая строка – описание
требуемой цепочки ДНК. Длины обеих цепочек совпадают и не превышают 5000. Каждая из цепочек содержит только
символы из множества {A, G, C, T}. Гарантируется, что искомая последовательность преобразований существует.

Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите количество k преобразований в построенном решении.
Число k должно быть неотрицательным и не должно превышать 4999.
Далее выведите k строк, описывающих построенную последовательность элементарных преобразований. Каждая из
строк должны содержать два числа: li и ri – соответственно левый и правый конец разворачиваемого на i-ом шаге отрезка.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 AGCT 2

https://acmp.ru/index.asp?main=alltasks 479/591
2/29/2020 Все задачи сайта
GCAT 1 2
2 3
AGCTA 1
2
ATCGA 1 5

Задача №834
Поместье
(Время: 1 сек. Память: 16 Мб Сложность: 25%)
И молвил тогда Король: «Ты храбро сражался, Рыцарь, и твой подвиг не будет забыт в веках. За доблесть твою я дарую
тебе сей замок и земли вокруг него. Однако нарушен был тобой строжайший из запретов – все воины видели, как ты
сражался без Шляпы на голове подобно дикарям, и их злые духи могли вселиться в тебя. Ты знаешь, что закон предков
велит отправлять на небеса души подобных тебе, пока зло, которое могло укорениться в них, не вырвалось наружу. Но в
моей воле пощадить тебя, ибо я вижу, что ты достаточно силен, чтобы не позволить этому злу проникнуть в мысли и душу
твои. Ты должен дать обет три месяца и три дня не покидать своей земли и каждый день три часа после захода солнца
молить добрых духов о защите. Дела торопят меня, и не могу я препроводить тебя до замка. Поэтому я дарую тебе и
дорогу от этого места до замка. А сейчас иди, и возвращайся по истечении срока.» - так записано в Зеленой Книге Лет.
Помимо этого из Зеленой Книги Лет известно, что земли, вместе с которыми был дарован замок, имели форму круга.
Король был очень мудр и, во избежание лишних разбирательств относительно права на землю всегда даровал только
области земли, на карте имеющие выпуклую форму. Недавно в распоряжении историков оказалась информация о том, где
располагался замок и где происходил этот исторический разговор. Их интересует: участок земли какой площади получил
Рыцарь в предположении, что дорога до замка была идеально прямой.

Входные данные
Первая строка входного файла INPUT.TXT содержит два вещественных числа xk и yk – координаты места, в котором
происходил диалог. Во второй строке записаны три вещественных числа xc, yc и rc – координаты замка и радиус
окружности, ограничивающей дарованную вместе с ним землю. Все числа во входном файле по модулю не превосходят
104.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно вещественное число – площадь земельного участка, полученного
Рыцарем, с точностью не менее трех знаков после десятичной точки.

Пример
№ INPUT.TXT OUTPUT.TXT
2 5 5.69646
1
2 1 1

Пояснение
На следующем рисунке светло-серым цветом показана территория, изначально дарованная рыцарю, а темно-серым, та,
которая перешла к нему в результате того, что король даровал ему дорогу.

https://acmp.ru/index.asp?main=alltasks 480/591
2/29/2020 Все задачи сайта

Задача №835
Задача о рюкзаке
(Время: 1 сек. Память: 16 Мб Сложность: 51%)
Одной из классических NP-полных задач является так называемая «Задача о рюкзаке». Формулируется она
следующим образом. Дано n предметов, каждый из которых характеризуется весом wi и полезностью pi. Необходимо
выбрать некоторый набор этих предметов так, чтобы суммарный вес этого набора не превышал W, а суммарная полезность
была максимальна.
Ваша задача состоит в том, чтобы написать программу, решающую задачу о рюкзаке.

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

Первая строка входного файла INPUT.TXT содержит натуральные числа n (1 ≤ n ≤ 20) и W (1 ≤ W ≤ 109). Каждая из
последующих n строк содержит описание одного предмета. Каждое описание состоит из двух чисел: wi – веса предмета и
pi – его полезности (1 ≤ wi, pi ≤ 109).

Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите количество выбранных предметов и их суммарную
полезность. Во второй строке выведите через пробел их номера в возрастающем порядке (предметы нумеруются с
единицы в порядке, в котором они перечислены во входном файле).
Если искомых наборов несколько, выберите тот, в котором наименьшее число предметов. Если же после этого ответ
по-прежнему неоднозначен, выберите тот набор, в котором первый предмет имеет наименьший возможный номер, из всех
таких выберите тот, в котором второй предмет имеет наименьший возможный номер, и т.д.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 10 1 100
1 10 100 1
9 80
5 100 2 1100
80 1000 2 3
50 550
2
50 550
50 550
50 550
3 6 100 1 1100
80 1000 6
50 550
50 550

https://acmp.ru/index.asp?main=alltasks 481/591
2/29/2020 Все задачи сайта
50 550
50 550
100 1100

Задача №836
Четно-нечетная задача
(Время: 2 сек. Память: 16 Мб Сложность: 26%)
Задано n чисел a1, a2, ... , an. Выберите из них четные числа, у которых третья справа цифра в их представлении в
восьмеричной системе счисления нечетна.
Выбранные числа отсортируйте по неубыванию и выведите в выходной файл.

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

Первая строка входного файла INPUT.TXT содержит целое число n (1 ≤ n ≤ 105). Вторая строка входного файла
содержит n целых чисел: a1, a2, ... , an. Они отделены друг от друга пробелами и заданы в десятичной системе счисления.
Для всех i (1 ≤ i ≤ n ) верно неравенство 64 ≤ ai ≤ 109.

Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите количество k искомых чисел. Во второй строке выведите
эти числа в указанном порядке в десятичной системе счисления.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 3
1
100 64 64 130 64 64 100
3 0
2
128 129 130

Задача №837
Точки и линии
(Время: 1 сек. Память: 16 Мб Сложность: 33%)
Вася и Петя играют в следующую игру. Вася рисует в трехмерном пространстве N точек и говорит число M. Петя
должен ответить, можно ли соединить эти N точек с помощью M непересекающихся линий, так, чтобы выполнялись
следующие условия:

1. Каждая линия соединяет ровно две точки.


2. Никакая линия не соединяет точку саму с собой.
3. Для любой пары точек существует не более одной соединяющей их линии.
4. Существуют такие две точки A и B, что из A нельзя добраться вдоль нарисованных линий до B (по каждой линии
можно идти в любую сторону).

Если Петя отвечает правильно, то он выигрывает, иначе выигрывает Вася.


Ваша задача — написать программу, которая поможет Пете всегда выигрывать.

Входные данные
В первой строке входного файла INPUT.TXT записано число K – количество тестов во входном файле (1 ≤ K ≤ 1000).
В следующих K строках записаны числа N (1 ≤ N ≤ 109) и M (0 ≤ M ≤ 109).

Выходные данные
Для каждого из K тестов в отдельной строке запишите правильный ответ на вопрос Васи, строку «Yes» (если ответ
положительный) или «No» (если ответ отрицательный).

Пример
https://acmp.ru/index.asp?main=alltasks 482/591
2/29/2020 Все задачи сайта

№ INPUT.TXT OUTPUT.TXT
2 Yes
1 2 0 No
2 2

Задача №838
Шаблон программы
(Время: 1 сек. Память: 16 Мб Сложность: 30%)
Многие команды, участвующие в командных соревнованиях по программированию, используют так называемый
«шаблон программы». Он набирается в самом начале соревнования и содержит общее для всех решений - например,
открытие и закрытие входных и выходных файлов.
Трехкратный чемпион мира по версии AMC команда Dream Team – не исключение. Во многом их успехи связаны с
тем, что они очень тщательно готовятся к соревнованиям, продумывая даже очень мелкие детали. Например, перед
последним финалом они во время пробного тура рассчитали, сколько джоулей энергии потратится на набор шаблона.
Организаторы финала использовали весьма странные клавиатуры — жесткость различных клавиш была различной.
Таким образом, на нажатие разных клавиш требовалось различное количество энергии.
Эксперименты, проведенные командой Dream Team во время пробного тура, показали следующее. На набор строчной
буквы английского алфавита требуется количество энергии, равное сумме цифр ее порядкового номера в алфавите (буквы
нумеруются с единицы). На нажатие клавиши «Shift» требуется 10 джоулей энергии (таким образом набор заглавной буквы
английского алфавита требует на 10 джоулей больше, чем набор соответствующей ей строчной буквы), нажатие клавиши
«Пробел» требует 4 джоуля энергии. Набор цифры x требует (13 – x) джоулей энергии, набор точки – 5 джоулей, точки с
запятой – 7 джоулей, запятой – 2 джоуля. Знак равенства, плюс, минус, одинарная и двойная кавычка требуют по 3 джоуля
энергии. Закрывающая и открывающая круглые скобки требуют по 1 джоулю, а фигурные, квадратные и угловые (т.е.
символы < и >) – по 8. При этом для всех упомянутых знаков препинания на клавиатуре, используемой на финале,
существуют отдельные клавиши, и другой возможности набрать соответствующий символ нет. Нажатие клавиши «Enter»
(перевод строки) оказалось настолько легким, что энергозатраты на него можно считать нулевыми.
Ваша задача – написать программу, которая по тексту шаблона вычислит энергозатраты на его набор.

Входные данные
Входной файл INPUT.TXT содержит шаблон программы, энергетические затраты на набор которого необходимо
вычислить. Он содержит только цифры, пробелы, строчные и заглавные буквы английского алфавита, точки, запятые,
знаки равенства, плюсы, точки с запятыми, двойные кавычки ("), одинарные кавычки ('), закрывающие и открывающие
круглые, фигурные и квадратные скобки. Его размер не превышает 20000 байт.

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 abCD '+=1;2,3."()[]{} 127
program solution; 489
uses
sysutils, math;
2 begin
assign(input, '.in');
assign(output, '.out');
end.

Задача №839
Всем известно
(Время: 1 сек. Память: 16 Мб Сложность: 14%)
Всем известно, что многие олимпиадные задачи начинаются со слов «Всем известно». Но мало кто знает, что
начинающему программисту Паше такие задачи меньше всего нравятся. Потому что обычно после слов «всем известно»

https://acmp.ru/index.asp?main=alltasks 483/591
2/29/2020 Все задачи сайта

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

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

Входные данные
Входной файл INPUT.TXT содержит непустую последовательность из нулей и единиц. Длина последовательности не
превышает 104.

Выходные данные
В выходной файл OUTPUT.TXT выведите слово «YES», если факт был известен всем опрошенным людям, и слово
"NO" в противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 11111101010011 NO
2 11 YES

Задача №840
Шары
(Время: 2 сек. Память: 16 Мб Сложность: 37%)
В пространстве расположен шар, заданный координатами своего центра X,Y,Z и радиусом R. К нему добавляется не
более N новых шаров, которые также описываются координатами центров Xi, Yi, Zi и радиусами Ri (1 ≤ i ≤ N).

Шары добавляются до тех пор, пока есть хоть один шар, не пересекающийся с другими шарами. Требуется определить
номер шара, после которого процесс добавления шаров можно прекратить.
Примечание:

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

Входные данные
Входной файл INPUT.TXT содержит четыре вещественных числа разделенных пробелами X, Y, Z, R - параметры
исходного шара (|X, Y, Z| ≤ 30000; 0 < R ≤ 30000). Вторая строка содержит целое число N - количество шаров, которые
предполагается добавить (1 ≤ N ≤ 5000). Следующие N строк содержат по четыре вещественных числа Xi, Yi, Zi, Ri -
параметры i-го шара (1 ≤ i ≤ N; |Xi, Yi, Zi| ≤ 30000; 0 < Ri ≤ 30000).

Выходные данные
В выходной файл OUTPUT.TXT выведите номер шара, после которого процесс добавления шаров можно остановить,
или 0 - если даже после добавления всех имеющихся шаров остается хотя бы один шар, не пересекающийся с другими.

Пример
https://acmp.ru/index.asp?main=alltasks 484/591
2/29/2020 Все задачи сайта

№ INPUT.TXT OUTPUT.TXT
2 2 1 1 2
3
1 5 2 2 1
3 3 3 1.5
8 8 8 1

Задача №841
Окружности
(Время: 1 сек. Память: 16 Мб Сложность: 25%)
На какое максимальное число областей можно разбить плоскость при помощи N окружностей одинакового радиуса?

Входные данные
Входной файл INPUT.TXT содержит целое число N – количество окружностей, 0 ≤ N ≤ 33333.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – максимальное количество областей, на которое можно разбить
плоскость при помощи N окружностей одинакового радиуса.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 0 1
2 3 8

Задача №842
Деление-2
(Время: 1 сек. Память: 16 Мб Сложность: 30%)
Рассмотрим дробь 1/N. Чтобы преобразовать эту обыкновенную дробь в дробь десятичную, следует разделить
числитель на знаменатель. Результат может иметь конечное число знаков, но может быть и бесконечной периодической
дробью.
Примеры:
N = 2: 1/2 = 0,5 – конечное число знаков.
N = 7: 1/7 = 0,(142857) – бесконечная периодическая дробь.
N = 28: 1/28=0,03(571428) – бесконечная периодическая дробь с предпериодом (предпериод - минимальная по длине
часть после запятой, которая не входит ни в один период).
Если десятичная дробь имеет конечное число знаков, то будем говорить, что она не имеет периода.
Ваша задача – написать программу, которая по заданному N определит, есть ли у дроби 1/N в десятичной записи
период, или нет.

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

Входной файл INPUT.TXT содержит натуральное число N, не превосходящее 1018.


https://acmp.ru/index.asp?main=alltasks 485/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT выведите «YES» – если у дроби 1/N есть период, иначе выведите «NO».

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 NO
2 3 YES

Задача №843
Экзамены
(Время: 1 сек. Память: 16 Мб Сложность: 20%)
В этом году при поступлении в университет абитуриентам требовалось успешно сдать экзамены по математике и
физике. К сожалению, с этим испытанием справились не все. Известно, что на экзамены пришло N абитуриентов, из них
M – сдали математику, F – сдали физику, а L – не сдали ни одного предмета. Найдите, сколько абитуриентов сдали оба
предмета и стали студентами, а также определите, сколько абитуриентов сдали один экзамен: только по математике или
только по физике.

Входные данные
Входной файл INPUT.TXT содержит четыре целых числа, разделенных пробелами: N (0 < N ≤ 2×109), M, F, L (0 ≤ M,
F, L ≤ 2×109).

Выходные данные
В выходной файл OUTPUT.TXT выведите три числа через пробел:

a) количество абитуриентов, сдавших оба экзамена;


b) количество абитуриентов, сдавших только математику;
с) количество абитуриентов, сдавших только физику.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 2 1 0 1 1 0
2 10 5 5 5 5 0 0
3 10 5 5 0 0 5 5

Задача №844
Поля
(Время: 1 сек. Память: 16 Мб Сложность: 16%)
Геннадий учится в сельской школе и мечтает стать агрономом. На уроке геометрии Геннадий познакомился с новой
фигурой – прямоугольником. Освоив вычисление площади прямоугольника, Гена подумал о том, что квадратные поля
гораздо удобнее, нежели прямоугольные. Поразмыслив еще немного, Гена столкнулся с интересной задачей: существует ли
такое квадратное поле, у которого площадь в точности равна площади заданного поля прямоугольной формы, чтобы при
этом длины сторон обеих полей были бы целыми числами?

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

Входной файл INPUT.TXT содержит целые числа a и b – длины сторон прямоугольника (1 < = a*b ≤ 1014).

Выходные данные
В выходной файл OUTPUT.TXT выведите либо одно целое число c – длину стороны квадрата, либо 0, если квадрата с
целочисленной длиной стороны не существует.

https://acmp.ru/index.asp?main=alltasks 486/591
2/29/2020 Все задачи сайта

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 4 2
2 2 8 4
3 15 42 0

Задача №845
Гиганты
(Время: 1 сек. Память: 16 Мб Сложность: 35%)
Астроному Василию по роду службы часто приходится иметь дело с невероятно большими числами. Очень часто
такие числа приходится возводить в не менее огромные степени. К счастью, для предварительных расчетов Василию не
понадобится весь результат расчетов – вполне хватит последней цифры.

Входные данные
Входной файл INPUT.TXT содержит два натуральных числа X и Y, не превосходящих 1040.

Выходные данные
В выходной файл OUTPUT.TXT выведите последнюю цифру числа XY.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 7 3 3
2 2 5 2

Задача №846
Герои
(Время: 1 сек. Память: 16 Мб Сложность: 48%)
Коварный кардинал Ришелье вновь организовал похищение подвесок королевы Анны; вновь спасать королеву
приходится героическим мушкетерам. Атос, Портос, Арамис и д’Артаньян уже перехватили агентов кардинала и вернули
украденное; осталось лишь передать подвески королеве Анне. Королева ждет мушкетеров в дворцовом саду. Дворцовый
сад имеет форму прямоугольника и разбит на участки, представляющие собой небольшие садики, содержащие коллекции
растений из разных климатических зон. К сожалению, на некоторых участках, в том числе на всех участках,
расположенных на границах сада, уже притаились в засаде гвардейцы кардинала; на бой с ними времени у мушкетеров
нет. Мушкетерам удалось добыть карту сада с отмеченными местами засад; теперь им предстоит выбрать наиболее
оптимальные пути к королеве. Для надежности друзья разделили между собой спасенные подвески и проникли в сад
поодиночке, поэтому начинают свой путь к королеве с разных участков сада. Двигаются герои по максимально короткой
возможной траектории.
Марлезонский балет вот-вот начнется; королева не в состоянии ждать героев больше L минут; ровно в начале L+1-ой
минуты королева покинет парк, и те мушкетеры, что не успеют к этому времени до нее добраться, не смогут передать ей
подвески. На преодоление одного участка у мушкетеров уйдет ровно по минуте. С каждого участка мушкетеры могут
перейти на 4 соседние. Требуется выяснить, сколько подвесок будет красоваться на платье королевы, когда она придет на
бал.

Входные данные
Первая строка входного файла INPUT.TXT содержит целые числа N и M (1 ≤ N,M ≤ 20) – размеры сада. Далее идут N
строк по M символов в каждом; символы '0' соответствуют участкам, на которых нет засады, символы '1' – участкам, на
которых разместились гвардейцы. В N+2-ой строке теста записано три целых числа: координаты участка, на котором
королева будет ждать мушкетёров (Qx, Qy) (1 < Qx < N, 1 < Qy < M) и время в минутах до начала балета (1 ≤ L ≤ 1000). В
N+3-ей строки записаны через пробел целые числа координаты участка, с которого стартует Атос (Ax,Ay) (1 < Ax < N, 1 <
Ay < M) и количество подвесок, хранящихся у него (1 ≤ Pa ≤ 1000). В N+4, N+5 и N+6-ой строках аналогично записаны
стартовые координаты и количество подвесок у Портоса, Арамиса и д’Артаньяна.

https://acmp.ru/index.asp?main=alltasks 487/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT выведите количество подвесок, которое королева успеет получить у мушкетеров до
начала балета.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 5 10
11111
10001
10001
10001
1 11111
4 4 10
2 2 1
2 3 2
3 2 3
3 3 4
5 5 0
11111
10001
10111
10101
2 11111
4 4 10
2 2 1
2 2 2
2 2 3
2 2 4

Задача №847
Анаграмма-2
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Катя и Таня играли в слова. Одна из девочек называла слово на английском языке, вторая должна найти анаграмму.
Анаграмма – это слово, полученное из другого слова путем перестановки всех без исключения букв первого слова.
Написать программу, которая проверит, правильно ли девочки создают анаграммы.

Входные данные
Входной файл INPUT.TXT содержит два слова на английском языке в нижнем регистре, разделенные пробелом.
Каждое слово содержит от 1 до 20 символов.

Выходные данные
В выходной файл OUTPUT.TXT выведите «YES», если анаграмма подобрана правильно, иначе выведите «NO».

Примеры
№ INPUT.TXT OUTPUT.TXT
1 post stop YES
2 post pots NO
3 aabb aabb NO

Задача №848
Заклинание Ауэрса
(Время: 1 сек. Память: 16 Мб Сложность: 51%)

https://acmp.ru/index.asp?main=alltasks 488/591
2/29/2020 Все задачи сайта

Заклинание Ауэрса представляет собой набор звуков, записываемых малыми буквами английского алфавита без
пробелов. Сам по себе этот набор не обладает ни секретностью, ни магической силой и приведен во всех учебниках по
белой магии в соответствующем разделе. Там же указан способ его применения:
а) разбить набор букв на палиндромы, то есть непустые слова, которые читаются одинаково как справа налево, так и
слева направо;
б) произносить их по порядку, после каждого, взмахивая умклайдетом (в крайнем случае, щелкая пальцами);
в) магическая сила заклинания обратно пропорциональна числу палиндромов, на которые разбит набор букв.
Даже домовые знают, что это заклинание можно разбить на отдельные буквы и очень забавно наблюдать, как они,
щелкая пальцами и выкрикивая отдельные звуки заклинания, выводят клопов. Однако истинную мощь заклинание
обретает только тогда, когда оно разбито на наименьшее возможное число палиндромов. Знание этого разбиения доступно
только самым великим магам, например Кристобалю Хозевичу Хунте.
Желая поднять свою квалификацию мага, Александр Привалов решил использовать современные средства для
нахождения кратчайшего разбиения заклинания Ауэрса на палиндромы. Уже неделю он бьется над составлением
переборной программы для своего Алдана, но пока все без толку. У него уже начала расти шерсть на ушах, помогите ему.

Входные данные
В единственной строке файла INPUT.TXT содержится непустой исходный набор, состоящий из маленьких букв
английского алфавита без пробелов (количество символов в наборе не больше 70).

Выходные данные
В первой строке выходного файла OUTPUT.TXT необходимо указать наименьшее число k палиндромов, на которые
разбивается набор. Эти k палиндромов нужно привести в следующих k строках в том порядке, в котором они входят в
исходный набор и должны произноситься при использовании заклинания. Если имеется несколько минимальных
разбиений, достаточно вывести любое из них.

Примеры
№ INPUT.TXT OUTPUT.TXT
baobab 4
b
1 a
o
bab
aaaaa 1
2
aaaaa
rarabar 3
rar
3
aba
r

Задача №849
Задача про ферзей
(Время: 2 сек. Память: 16 Мб Сложность: 54%)
Требуется расставить N ферзей на клеточной шахматной доске размером N×N так,
чтобы ни один из них не находился под боем другого.

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

Входной файл INPUT.TXT содержит натуральное число N ≤ 106.

Выходные данные
В выходной файл OUTPUT.TXT выведите N пар целых чисел - координаты
расстановки ферзей. Если для заданного N такой расстановки не существует, то следует

https://acmp.ru/index.asp?main=alltasks 489/591
2/29/2020 Все задачи сайта

вывести «No solution». Если существует несколько решений, то разрешается вывести любое из них.

Примеры
№ INPUT.TXT OUTPUT.TXT
8 7 2
2 6
3 8
1 3
1
4 1
6 7
8 4
5 5
2 2 No solution

Задача №850
Цапли
(Время: 1 сек. Память: 16 Мб Сложность: 15%)
Петя и Маша пришли в зоопарк. Больше всего Пете понравились цапли. Он был поражен их способностью спать на
одной ноге. В вольере находятся несколько цапель. Некоторые из них стоят на двух ногах, некоторые — на одной. Когда
цапля стоит на одной ноге, то другую ее ногу не видно. Петя пересчитал видимые ноги всех цапель, и у него получилось
число a. Через несколько минут к вольеру подошла Маша. За это время некоторые цапли могли поменять позу, поэтому
Петя предложил ей заново пересчитать видимые ноги цапель. Когда Маша это сделала, у нее получилось число b. Выйдя
из зоопарка, Петя с Машей заинтересовались, сколько же всего цапель было в вольере. Вскоре ребята поняли, что
однозначно определить это число можно не всегда. Теперь они хотят понять, какое минимальное и какое максимальное
количество цапель могло быть в вольере.
Требуется написать программу, которая по заданным числам a и b выведет минимальное и максимальное количество
цапель, которое могло быть в вольере.

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

Входной файл INPUT.TXT содержит два целых числа a и b, разделенных ровно одним пробелом (1 ≤ a ≤ 109, 1 ≤ b ≤
109).

Выходные данные
В выходной файл OUTPUT.TXT выведите два целых числа, разделенных пробелом — минимальное и максимальное
число цапель, которое могло быть в вольере. Гарантируется, что хотя бы одно количество цапель соответствует условию
задачи.

Пример
№ INPUT.TXT OUTPUT.TXT
1 3 4 2 3

Задача №851
Круглый стол
(Время: 1 сек. Память: 16 Мб Сложность: 29%)
Возрождая древние традиции английских рыцарей, в одном городе члены школьного клуба любителей информатики
каждую неделю собираются за круглым столом и обсуждают результаты последних соревнований.
Руководитель клуба Иван Петрович недавно заметил, что не все ребята активно участвуют в обсуждении. Понаблюдав
за несколькими заседаниями клуба, он заметил, что активность члена клуба зависит от того, кто с кем сидит рядом.
В клуб приходят на занятия m мальчиков и n девочек. Иван Петрович заметил, что мальчик активно участвует в
обсуждении только тогда, когда непосредственно рядом с ним с обеих сторон от него сидят девочки, а девочка активно
участвует в обсуждении только тогда, когда непосредственно рядом с ней с одной стороны от нее сидит мальчик, а с другой
— девочка.

https://acmp.ru/index.asp?main=alltasks 490/591
2/29/2020 Все задачи сайта

Желая сделать заседание клуба как можно более интересным, Иван Петрович решил разместить участников за
круглым столом таким образом, чтобы как можно больше членов клуба приняло активное участие в обсуждении.
Требуется написать программу, которая по заданным числам m и n выведет такой способ размещения m мальчиков и n
девочек за круглым столом, при котором максимальное количество членов клуба будет активно участвовать в обсуждении.

Входные данные
Входной файл INPUT.TXT содержит два целых числа m и n, разделенных ровно одним пробелом (0 ≤ m ≤ 1000, 0 ≤ n ≤
1000, m + n ≥ 3).

Выходные данные
В выходной файл OUTPUT.TXT выведите строку с расположенными в некотором порядке m символами «B»
(заглавная английская буква) и n символами «G» (заглавная английская буква). Символ «B» означает мальчика, а символ
«G» — девочку.
Символы следует расположить в том порядке, в котором нужно разместить членов клуба вокруг стола. Соседние
символы соответствуют членам клуба, которые сидят рядом. Рядом сидят также члены клуба, соответствующие первому и
последнему символу выведенной строки.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 2 BGG
2 2 2 BGBG

Задача №852
Поврежденный XML
(Время: 2 сек. Память: 16 Мб Сложность: 54%)
Формат XML является распространенным способом обмена данными между различными программами. Недавно
программист Иванов написал небольшую программу, которая сохраняет некоторую важную информацию в виде XML-
строки.
XML-строка состоит из открывающих и закрывающих тегов. Открывающий тег начинается с открывающей угловой
скобки (<), за ней следует имя тега — непустая строка из строчных букв английского алфавита, а затем закрывающая
угловая скобка (>). Примеры открывающих тегов: <a>, <dog>.
Закрывающий тег начинается с открывающей угловой скобки, за ней следует прямой слеш (/), затем имя тега —
непустая строка из строчных букв английского алфавита, а затем закрывающая угловая скобка. Примеры закрывающихся
тегов: </a>, </dog>.
XML-строка называется корректной, если она может быть получена по следующим правилам:

Пустая строка является корректной XML-строкой.


Если A и B — корректные XML-строки, то строка AB, получающаяся приписыванием строки B в конец строки A,
также является корректной XML-строкой.
Если A — корректная XML-строка, то строка <X>A</X>, получающаяся приписыванием в начало A
открывающегося тега, а в конец — закрывающегося с таким же именем, также является корректной XML-строкой.
Здесь X — любая непустая строка из строчных букв английского алфавита.

Например, представленные ниже строки:


<a></a>
<a><ab></ab><c></c></a>
<a></a><a></a><a></a>
являются корректными XML-строками, а такие строки как:
<a></b>
<a><b>
<a><b></a></b>
не являются корректными XML-строками.

https://acmp.ru/index.asp?main=alltasks 491/591
2/29/2020 Все задачи сайта

Иванов отправил файл с сохраненной XML-строкой по электронной почте своему коллеге Петрову. Однако, к
сожалению, файл повредился в процессе пересылки: ровно один символ в строке заменился на некоторый другой символ.
Требуется написать программу, которая по строке, которую получил Петров, восстановит исходную XML-строку,
которую отправлял Иванов.

Входные данные
Входной файл INPUT.TXT содержит одну строку, которая заменой ровно одного символа может быть превращена в
корректную XML-строку. Длина строки лежит в пределах от 7 до 1000, включительно. Строка содержит только строчные
буквы английского алфавита и символы «<» (ASCII код 60), «>»(ASCII код 62) и «/»(ASCII код 47). Строка во входном
файле заканчивается переводом строки.

Выходные данные
В выходной файл OUTPUT.TXT должен содержать корректную XML-строку, которая может быть получена из строки
во входном файле заменой ровно одного символа на другой. Если вариантов ответа несколько, можно вывести любой.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 <a></b> <a></a>
2 <a><aa> <a></a>
3 <a><>a> <a></a>
4 <a/</a> <a></a>

Задача №853
Игра с числами
(Время: 2 сек. Память: 16 Мб Сложность: 77%)
Сегодня на уроке математики Петя и Вася изучали понятие арифметической прогрессии. Арифметической
прогрессией с разностью d называется последовательность чисел a1, a2, …, ak, в которой разность между любыми двумя
последовательными числами равна d. Например, последовательность 2, 5, 8, 11 является арифметической прогрессией с
разностью 3.
После урока Петя и Вася придумали новую игру с числами. Игра проходит следующим образом.
В корзине находятся n фишек, на которых написаны различные целые числа a1, a2, …, an. По ходу игры игроки
выкладывают фишки из корзины на стол. Петя и Вася делают ходы по очереди, первым ходит Петя. Ход состоит в том, что
игрок берет одну фишку из корзины и выкладывает ее на стол. Игрок может сам решить, какую фишку взять. После этого
он должен назвать целое число d ≥ 2 такое, что все числа на выбранных к данному моменту фишках являются членами
некоторой арифметической прогрессии с разностью d, не обязательно последовательными. Например, если на столе
выложены фишки с числами 2, 8 и 11, то можно назвать число 3, поскольку эти числа являются членами приведенной в
начале условия арифметической прогрессии с разностью 3.
Игрок проигрывает, если он не может сделать ход из-за отсутствия фишек в корзине или из-за того, что добавление
любой фишки из корзины на стол приводит к тому, что он не сможет подобрать соответствующее число d.
Например, если в корзине имеются числа 2, 3, 5 и 7, то Петя может выиграть. Для этого ему необходимо первым ходом
выложить на стол число 3. После первого хода у него много вариантов назвать число d, например он может назвать d = 3.
Теперь у Васи два варианта хода.

1. Вася может вторым ходом выложить фишку с числом 5 и назвать d = 2. Тогда Петя выкладывает фишку с числом 7,
называя d = 2. На столе оказываются фишки с числами 3, 5 и 7, а в корзине осталась только фишка с числом 2. Вася
не может ее выложить, поскольку после этого он не сможет назвать корректное число d. В этом случае Вася
проигрывает.
2. Вася может вторым ходом выложить фишку с числом 7 и также назвать, например, d = 2. Тогда Петя выкладывает
фишку с числом 5, называя также d = 2. Вася снова попадает в ситуацию, когда на столе оказываются фишки с
числами 3, 5 и 7, а в корзине осталась только фишка с числом 2, и он также проигрывает.

Заметим, что любой другой первый ход Пети приводит к его проигрышу. Если он выкладывает число 2, то Вася
отвечает числом 7, и Петя не может выложить ни одной фишки. Если Петя выкладывает фишку с числом 5 или 7, то Вася
выкладывает фишку с числом 2, и у Пети также нет допустимого хода.
https://acmp.ru/index.asp?main=alltasks 492/591
2/29/2020 Все задачи сайта

Требуется написать программу, которая по заданному количеству фишек n и числам на фишках a1, a2, …, an
определяет, сможет ли Петя выиграть вне зависимости от действий Васи, и находит все возможные первые ходы Пети,
ведущие к выигрышу.

Входные данные
Первая строка входного файла INPUT.TXT содержит целое число (1 ≤ n ≤ 200). Вторая строка содержит n различных
целых чисел a1, a2, …, an (для всех i от 1 до n выполняется неравенство 1 ≤ ai ≤ 105). Соседние числа разделены ровно
одним пробелом.

Выходные данные
Первая строка выходного файла OUTPUT.TXT должна содержать число k — количество различных первых ходов,
которые может сделать Петя, чтобы выиграть. Если Вася может выиграть вне зависимости от действий Пети, строка
должна содержать цифру 0.
Во второй строке должно содержаться k различных целых чисел — все выигрышные числа. Будем называть число
выигрышным, если, выложив в качестве первого хода фишку, содержащую это число, Петя может выиграть вне
зависимости от действий Васи. Соседние числа в строке должны быть разделены ровно одним пробелом.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 1
1
2 3 5 7 3
2 0
2
2 4

Задача №854
Кондиционер
(Время: 1 сек. Память: 16 Мб Сложность: 12%)
В офисе, где работает программист Петр, установили кондиционер нового типа. Этот кондиционер отличается особой
простотой в управлении. У кондиционера есть всего лишь два управляемых параметра: желаемая температура и режим
работы.
Кондиционер может работать в следующих четырех режимах:

«freeze» — охлаждение. В этом режиме кондиционер может только уменьшать температуру. Если температура в
комнате и так не больше желаемой, то он выключается.
«heat» — нагрев. В этом режиме кондиционер может только увеличивать температуру. Если температура в комнате и
так не меньше желаемой, то он выключается.
«auto» — автоматический режим. В этом режиме кондиционер может как увеличивать, так и уменьшать температуру
в комнате до желаемой.
«fan» — вентиляция. В этом режиме кондиционер осуществляет только вентиляцию воздуха и не изменяет
температуру в комнате.

Кондиционер достаточно мощный, поэтому при настройке на правильный режим работы он за час доводит
температуру в комнате до желаемой.
Требуется написать программу, которая по заданной температуре в комнате troom, установленным на кондиционере
желаемой температуре tcond и режиму работы определяет температуру, которая установится в комнате через час.

Входные данные
Первая строка входного файла INPUT.TXT содержит два целых числа troom и tcond, разделенных ровно одним
пробелом (–50 ≤ troom ≤ 50, –50 ≤ tcond ≤ 50).

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

Выходные данные
https://acmp.ru/index.asp?main=alltasks 493/591
2/29/2020 Все задачи сайта

Выходной файл OUTPUT.TXT должен содержать одно целое число — температуру, которая установится в комнате
через час.

Примеры
№ INPUT.TXT OUTPUT.TXT
10 20 20
1
heat
10 20 10
2
freeze

Задача №855
Праздничный ужин
(Время: 1 сек. Память: 16 Мб Сложность: 47%)
Рядом с офисом компании, в которой работает программист Джон, открылось новое кафе. Директор компании решил
провести там новогодний ужин.
Меню праздничного новогоднего ужина в кафе состоит из k типов блюд. Для каждого типа блюда есть несколько
вариантов на выбор. Всего есть a1 вариантов для первого типа блюда, a2 вариантов для второго типа блюда, и так далее, ak
вариантов для k-го типа блюда. Всего, таким образом, предлагается a1×a2×…×ak различных заказов праздничного ужина.
Всего на ужине будут присутствовать m сотрудников компании. Каждый сотрудник должен заказать ровно один
вариант блюда каждого типа на выбор. Таким образом, ужин каждого сотрудника будет состоять из k блюд. Для того чтобы
ужин каждого сотрудника компании был уникален, администратор кафе придумал следующую схему. Сотрудники делают
заказ ужина из меню один за другим. Каждый сотрудник выбирает k блюд, по одному варианту каждого типа. После
выбора заказа из меню, сотрудник указывает один их типов блюд, и выбранный этим сотрудником вариант блюда этого
типа больше не предлагается тем сотрудникам, которые делают заказ после него.
Каждый сотрудник компании запомнил, сколько возможных заказов ужина ему было предложено. Выяснилось, что
директору, который выбирал первым, было предложено на выбор n1 = a1×a2×…×ak заказов. Тому, кто выбирал вторым,
досталось лишь n2 < n1 заказов, поскольку один из вариантов одного из типов блюд уже не был доступен, и так далее.
Джону, который выбирал последним, был предложен выбор лишь из nm заказов. Джон заинтересовался, а какое количество
вариантов каждого типа блюд было на выбор у директора компании.
Требуется написать программу, которая по заданным числам k, m и n1, n2, …, nm выяснит, какое количество вариантов
каждого типа блюд изначально предлагалось на выбор.

Входные данные
Входной файл INPUT.TXT содержит два целых числа k и m, разделенных ровно одним пробелом (1 ≤ k ≤ 20, 2 ≤ m ≤
100). Вторая строка содержит m чисел: n1, n2, …, nm (для всех i от 1 до m выполняется неравенство 1 ≤ ni ≤ 109).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать k чисел: a1, a2, …, ak. Если возможных вариантов решения
поставленной задачи несколько, требуется вывести любой. Соседние числа должны быть разделены ровно одним
пробелом. Гарантируется, что хотя бы одно решение существует.

Пример
№ INPUT.TXT OUTPUT.TXT
3 3 3 2 2
1
12 8 4

Задача №856
Космический кегельбан
(Время: 2 сек. Память: 16 Мб Сложность: 53%)

https://acmp.ru/index.asp?main=alltasks 494/591
2/29/2020 Все задачи сайта

На планете Плюк открылся новый космический кегельбан.


Поле для кегельбана представляет собой бесконечную плоскость,
на которой расставлены кегли.
Каждая кегля представляет собой высокий цилиндр с
основанием в виде круга радиусом r метров. Все кегли одинаковые.
Кегли расставлены по следующим правилам. Кегли образуют n
рядов, в первом ряду стоит одна кегля, во втором — две, и так
далее. В последнем n-м ряду стоит n кеглей. Введем на плоскости
систему координат таким образом, чтобы единица измерения была
равна одному километру. Центр единственной кегли в первом ряду
находится в точке (0, 0). Центры кеглей во втором ряду находятся в
точках (–1, 1) и (1, 1). Таким образом, центры кеглей в i-м ряду
находятся в точках с координатами (–(i –1), i – 1), (–(i – 3), i – 1), …,
(i – 1, i – 1).
Игра происходит следующим образом. Используется шар с
радиусом q метров. Игрок выбирает начальное положение центра
шара (xc, yc) и вектор направления движения шара (vx, vy). После
этого шар помещается в начальную точку и двигается, не
останавливаясь, в направлении вектора (vx, vy). Считается, что шар
сбил кеглю, если в процессе движения шара имеет место ситуация,
когда у шара и кегли есть общая точка. Сбитые кегли не меняют
направления движения шара и не сбивают соседние кегли при падении.
На рисунке приведен пример расположения кеглей для r = 500, n = 4 и шара для q = 1000, xc = –2, yc = –2, vx = 1, vy = 1.
Требуется написать программу, которая по заданным радиусу кегли r, количеству рядов кеглей n, радиусу шара q, его
начальному положению (xc, yc) и вектору направления движения (vx, vy) определяет количество кеглей, сбитых шаром.

Входные данные
Первая строка входного файла INPUT.TXT содержит два целых числа: r и n, разделенных ровно одним пробелом (1 ≤ r
≤ 700, 1 ≤ n ≤ 200 000). Вторая строка входного файла содержит целое число q (1 ≤ q ≤ 109). Третья строка входного файла
содержит два целых числа xc и yc, разделенных ровно одним пробелом (–106≤ xc ≤ 106, –106≤ yc, 1000×yc < –(r + q) ).
Четвертая строка входного файла содержит два целых числа vx и vy, разделенных ровно одним пробелом (–106≤ vx ≤ 106, 0
< vy ≤ 106).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число — количество сбитых кеглей.

Пример
№ INPUT.TXT OUTPUT.TXT
500 4 7
1000
1
-2 -2
1 1

Задача №857
Abracadabra
(Время: 5 сек. Память: 64 Мб Сложность: 59%)
Строка s называется супрефиксом для строки t, если t начинается с s и заканчивается на s. Например, «abra» является
супрефиксом для строки «abracadabra». В частности, сама строка t является своим супрефиксом. Супрефиксы играют
важную роль в различных алгоритмах на строках.
В этой задаче требуется решить обратную задачу о поиске супрефикса, которая заключается в следующем. Задан
словарь, содержащий n слов t1, t2, …, tn и набор из m строк-образцов s1, s2, …, sm. Необходимо для каждой строки-образца
из заданного набора найти количество слов в словаре, для которых эта строка-образец является супрефиксом.

https://acmp.ru/index.asp?main=alltasks 495/591
2/29/2020 Все задачи сайта

Требуется написать программу, которая по заданному числу n, n словам словаря t1, t2, …, tn, заданному числу m и m
строкам-образцам s1, s2, …, sm вычислит для каждой строки-образца количество слов из словаря, для которых эта строка-
образец является супрефиксом.

Входные данные
Первая строка входного файла INPUT.TXT содержит целое число n (1 ≤ n ≤ 200 000). Последующие n строк содержат
слова t1, t2, …, tn, по одному слову в каждой строке. Каждое слово состоит из строчных букв английского алфавита. Длина
каждого слова не превышает 50. Суммарная длина всех слов не превышает 106. Словарь не содержит пустых слов.
Затем следует строка, содержащая целое число m (1 ≤ m ≤ 200 000). Последующие m строк содержат строки-образцы
s1, s2, …, sm, по одной на каждой строке. Каждая строка-образец состоит из строчных букв английского алфавита. Длина
каждой строки-образца не превышает 50. Суммарная длина всех строк-образцов не превышает 106. Никакая строка-
образец не является пустой строкой.

Выходные данные
В выходной файл OUTPUT.TXT выведите m чисел, по одному на строке. Для каждой строки-образца в порядке, в
котором они заданы во входном файле, следует вывести количество слов словаря, для которых она является супрефиксом.

Пример
№ INPUT.TXT OUTPUT.TXT
4 4
abacaba 2
abracadabra 0
aa
1 abra
3
a
abra
abac

Задача №858
Площадь треугольника - 2
(Время: 1 сек. Память: 16 Мб Сложность: 41%)
Три попарно непараллельные прямые заданы коэффициентами ai, bi, ci соответствующего уравнения aix + biy = ci.
Коэффициенты ai и bi не могут быть одновременно равны нулю.

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

Входные данные
Входной файл INPUT.TXT содержит 3 строки, в каждой из которых записаны коэффициенты ai, bi, ci, разделенные
пробелом. Все коэффициенты – целые числа, не превосходящие 10000 по абсолютной величине.

Выходные данные
В выходной файл OUTPUT.TXT выведите значение площади треугольника с точностью не меньшей, чем три знака
после запятой.

Пример
№ INPUT.TXT OUTPUT.TXT
0 1 1 6.000
1 1 0 1
4 3 19

https://acmp.ru/index.asp?main=alltasks 496/591
2/29/2020 Все задачи сайта

Задача №859
Сумма от 1 до N
(Время: 1 сек. Память: 16 Мб Сложность: 50%)
Требуется найти сумму от 1 до N.

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

В единственной строке входного файла INPUT.TXT записано натуральное число N, не превышающее 10100.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT выведите одно целое число – ответ на задачу.

Пример
№ INPUT.TXT OUTPUT.TXT
1 5 15

Задача №860
Паркет
(Время: 1 сек. Память: 16 Мб Сложность: 68%)
Недавно бизнесмен Борис купил себе новую квартиру в элитной новостройке. На данный момент он решил уложить
весь пол в квартире паркетом. Дизайнер посоветовал ему уложить пол квадратными участками, Борису понравилась эта
идея, но он потребовал узнать, сколькими способами можно это сделать. Пол в квартире должен быть весь уложен
паркетом. Квадратные участки паркета не должны пересекаться или накладываться, а так же выходить на пределы
квартиры. Куски паркета располагаются строго на полу параллельно стенам квартиры.

Входные данные
В первой строке входного файла INPUT.TXT содержатся два числа N и M - размеры квартиры (1 ≤ N×M ≤ 100). Далее
следуют N строк по M символов в каждой: карта квартиры. Символ '.' обозначает пол, а '#' - стену.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT выведете количество возможных укладок паркета.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 3 6
...
1
...
...
3 3 1
.#.
2
...
.#.
1 1 1
3
#

Задача №861
Осколки
(Время: 2 сек. Память: 16 Мб Сложность: 88%)
На Землю надвигается страшная угроза, к нам летит облако из N огромных астероидов. Известно только то, что все
они одинакового размера. У учёных есть ракеты, способные уничтожить астероиды, каждая такая ракета характеризуется
зарядом m – натуральным числом от 1 до N. Но, к сожалению, неизвестно, как каждая из ракет поведёт себя при
столкновении с астероидом, поэтому было принято решение запустить по одной ракете каждого вида. И только после
https://acmp.ru/index.asp?main=alltasks 497/591
2/29/2020 Все задачи сайта

столкновения стало известно, что ракета с зарядом m после уничтожения астероида образует осколки в количестве, равном
наибольшему общему делителю чисел m и N. Помогите узнать, сколько осколков упадёт на Землю, у Вас совсем мало
времени!

Входные данные
В единственной строке входного файла INPUT.TXT содержится натуральное число N – количество запущенных ракет
и взорванных ими астероидов (1 ≤ N ≤ 1018).

Выходные данные
В выходной файл OUTPUT.TXT выведите количество осколков, которые упадут на Землю.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 5
2 6 15

Задача №862
Домашняя работа
(Время: 1 сек. Память: 16 Мб Сложность: 51%)
Витя наконец-то прошёл последний уровень своей любимой игры "Прострели мне колено". На часах было уже
полдвенадцатого, а он до сих пор не сделал домашнюю работу по математике. Прочитав задание, Витя сказал: "О, какое же
оно скучное, посчитать сумму прогрессии... Вот посчитать сумму остатков - это весело!". Витя написал в тетрадке

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

Входные данные
В единственной строке входного файла INPUT.TXT содержаться два числа n и m - числа, записанные Витей. Оба
числа натуральные и не превосходят миллиарда.

Выходные данные
В выходной файл OUTPUT.TXT выведете единственное число - ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 5 5 14
2 10 1 9

Задача №863
Антиарифметическая перестановка
(Время: 1 сек. Память: 16 Мб Сложность: 52%)
Перестановка (P0, P1, ..., PN−1) чисел от 0 до N−1 называется антиарифметической, если не существует такой тройки
индексов 0 ≤ i < j < k < N, что тройка Pi, Pj, Pk образует три последовательных члена некоторой арифметической
прогрессии. Например, перестановка (3, 1, 0, 4, 2) антиарифметическая, а (0, 4, 5, 3, 1, 2) – нет (так как 0, 1, 2 –
арифметическая прогрессия). Ваша задача по заданному значению N построить любую антиарифметическую
перестановку.

https://acmp.ru/index.asp?main=alltasks 498/591
2/29/2020 Все задачи сайта

Входные данные
Входной файл INPUT.TXT содержит целое число N (3 ≤ N ≤ 50000).

Выходные данные
В выходной файл OUTPUT.TXT выведите любую антиарифметическую перестановку длины N или -1, если такой нет.

Пример
№ INPUT.TXT OUTPUT.TXT
1 5 3 1 0 4 2

Задача №864
Шары и коробки - 2
(Время: 1 сек. Память: 16 Мб Сложность: 68%)
По кругу стоит N коробок. Каждая коробка имеет одного правого и одного левого соседа. В i-ой коробке находится Ai
шаров. Известно, что общее количество шаров во всех коробках не превосходит N. За один ход разрешается переложить
один шар из коробки в соседнюю. Какое наименьшее количество ходов придется совершить, чтобы в каждой коробке
находилось не более одного шара?

Входные данные
Первая строка входного файла INPUT.TXT содержит целое число N (1 ≤ N ≤ 1000). Во второй строке определена
последовательность N целых чисел A1, A2, ... , AN (0 ≤ Ai ≤ N). Сумма всех значений Ai не превосходит N.

Выходные данные
В выходной файл OUTPUT.TXT выведите искомое минимальное количество ходов.

Пример
№ INPUT.TXT OUTPUT.TXT
7 7
1
1 0 0 0 2 3 1

Задача №865
Проверка орфографии
(Время: 1 сек. Память: 16 Мб Сложность: 56%)
Профессор Далл разработал новую систему проверки и исправления орфографии. Расстоянием между двумя
английскими буквами в одинаковом регистре называется кратчайшее расстояние между ними по алфавиту, записанному по
кругу. Например, d(B, G) = 5, а d(Z, A) = 1. Расстояние между буквами разных регистров равно расстоянию между
соответствующими буквами одного регистра. Например, d(a, A) = 0, d(Z, a) = 1.
Расстоянием между двумя строками одинаковой длины называется сумма расстояний между соответствующими
буквами. Метод профессора основывается на словаре правильных слов и представляет введенную последовательность в
виде конкатенации слов из словаря таким образом, чтобы расстояние между заданным текстом и результатом было
наименьшим. Регистр букв в тексте сохраняется. Реализуйте метод Далла.
Слово из словаря может использоваться более одного раза.

Входные данные
В первой строке входного файла INPUT.TXT содержится N (1 ≤ N ≤ 100), обозначающее количество слов в словаре.
Далее, в N строках содержатся слова из словаря. Длины слов от 1 до 32 символов включительно.
Последняя строка файла содержит текст. Текст состоит из английских букв, длина текста не менее 1 символа и не
более 1000. Возможно, словарь содержит одинаковые слова. Слова в словаре записываются буквами произвольного
регистра.

https://acmp.ru/index.asp?main=alltasks 499/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT выведите результат. Если решений несколько, выведите любое. Если решения не
существует, выведите -1.

Пример
№ INPUT.TXT OUTPUT.TXT
4 SaratovStateUniversitY
SaratoV
StaTe
1
The
University
SaratofStataUniversitI

Задача №866
Берляндия в опасности
(Время: 1 сек. Память: 16 Мб Сложность: 82%)
Всем известно, что в Берляндии N городов, некоторые пары из которых соединены двусторонними дорогами. Между
парой городов не может быть более одной дороги. Известно, что для любой пары городов A, B существует простой цикл,
проходящий через них. Правительству известно, что вражеская империя Бирлэнд атаковала страну. Захвачен один город,
отличный от столицы, но какой именно неизвестно.
Президент Берляндии решил известить жителей о предстоящей войне. Для этого он собирается отправить двух
посланников. В силу специфики мировоззрения берляндцев, они будут ходить по следующему правилу. Каждому из них
президент выдаст план посещения P1, P2, ... , PN перестановку целых чисел от 1 до N , P1 = 1 (столица имеет номер 1).
Этот план обозначает, что посланник должен посещать города в таком порядке, но, проходя от города Pi к Pi+1, он может
посещать другие города, но только те, которые он уже посещал до того.
Если посланник зайдет в захваченный город, то ... он оттуда уже не выйдет. Помогите Президенту составить два таких
плана, что, исполняя их, посланники могут избрать такие маршруты, что любой город будет посещен хотя бы одним из
них, независимо от положения захваченного города.

Входные данные
В первой строке входного файла INPUT.TXT записано целое число N (3 ≤ N ≤ 500). Во второй – количество дорог M.
Далее в M строках описаны дороги парами номеров соединяемых городов. Города пронумерованы от 1 до N.

Выходные данные
В выходной файл OUTPUT.TXT выведите две искомые перестановки, по одной в строке. Если решений несколько, то
следует вывести любое.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 1 2 3 5 4
6 1 4 5 3 2
1 2
2 3
1
3 4
4 1
4 5
5 2

Задача №867
Экзамен - 2
(Время: 1 сек. Память: 16 Мб Сложность: 45%)

https://acmp.ru/index.asp?main=alltasks 500/591
2/29/2020 Все задачи сайта

Экзамен по берляндскому языку проходит в узкой и длинной аудитории. На экзамен пришло N студентов. Все они
посажены в ряд. Таким образом, позиция каждого человека задается координатой на оси Ox (эта ось ведет вдоль длинной
аудитории). Два человека могут разговаривать, если расстояние между ними меньше или равно D. Какое наименьшее
количество типов билетов должен подготовить преподаватель, чтобы никакие два студента с одинаковыми билетами не
могли разговаривать? Выведите способ раздачи преподавателем билетов.

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

В первой строке входного файла INPUT.TXT содержится два целых числа N, D (1 ≤ N ≤ 104; 0 ≤ D ≤ 106). Вторая
строка содержит последовательность различных целых чисел X1, X2, ... , XN, где Xi (0 ≤ Xi ≤ 106) обозначает координату
вдоль оси Ox i-го студента.

Выходные данные
В первую строку выходного файла OUTPUT.TXT выведите Q – наименьшее количество типов билетов, необходимых
для проведения экзамена. Во вторую строку выведите последовательность N целых чисел от 1 до Q, i-ое число этой
последовательности обозначает номер типа билета i-го студента. Если ответов несколько, выведите любой.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 1 2
1
11 1 12 2 1 1 2 2
4 0 1
2
11 1 12 2 1 1 1 1

Задача №868
Матрица: правый нижний элемент
(Время: 1 сек. Память: 16 Мб Сложность: 38%)
Матрица A считается меньше (больше) матрицы B, если при просмотре слева направо и сверху вниз после всех
равенств элементов матриц следующий элемент из матрицы A меньше (больше), чем соответствующий элемент из B.
Такое сравнение называется лексикографическим и напоминает способ сравнения слов в словаре.
Дана прямоугольная матрица A размером n×m, все элементы которой различны. В ней можно менять местами два
произвольных столбца, а также менять местами две произвольных строки.
Пусть Amax – максимальная матрица, получаемая из исходной матрицы путем любого требуемого количества
вышеприведенных операций. Необходимо написать программу, находящую последний (правый нижний) элемент из Amax.

Входные данные
В первой строке входного файла INPUT.TXT записаны целые числа n, m (1 ≤ n, m ≤ 400). Далее в n строках
содержится сама матрица. Каждая из этих строк содержит m целых чисел от 0 до 2147483647. Все элементы матрицы
различны.

Выходные данные
В выходной файл OUTPUT.TXT выведите искомый правый нижний элемент матрицы Amax.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 3 1
1 1 2 3
4 5 6
2 3 3
2 3 2 1
4 5 6

https://acmp.ru/index.asp?main=alltasks 501/591
2/29/2020 Все задачи сайта

Задача №869
Байдарочный поход
(Время: 0,25 сек. Память: 16 Мб Сложность: 35%)
Компания из N человек собирается пойти в байдарочный поход, i-ый человек характеризуется своей массой Mi кг. На
лодочной базе имеется в наличии неограниченное количество одинаковых байдарок. Каждая байдарка может вмещать
одного или двух людей. Байдарки имеют грузоподъемность D кг. Какое наименьшее количество байдарок придется
арендовать компании, чтобы всем отправиться в поход?

Входные данные
В первой строке входного файла INPUT.TXT содержится пара натуральных чисел N, D (1 ≤ N ≤ 15000; 1 ≤ D ≤ 15000).
Во второй строке содержится последовательность натуральных чисел M1, M2, ... , MN (1 ≤ Mi ≤ D).

Выходные данные
В выходной файл OUTPUT.TXT выведите искомое наименьшее количество необходимых байдарок.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 135 2
1
50 74 60 82
6 135 4
2
50 120 74 60 100 82

Задача №870
URL Validator
(Время: 1 сек. Память: 16 Мб Сложность: 55%)
Для идентификации ресурсов в сети Internet используются URL (Uniform Resource Locator). URL состоит из
нескольких элементов: протокол, хост, порт, путь и файл. Некоторые элементы URL могут быть опущены. Рассмотрим
упрощенный формат URL:
[http://]host[:port][/path][/file]
Заключенные в квадратные скобки элементы могут быть опущены, то есть, например, можно не указать протокол или
файл. Элемент host представляет собой либо IP-адрес – четыре целых числа без лидирующих нулей от 0 до 255,
разделенные точкой (например, 212.193.39.146), либо строковое имя ресурса. Во втором случае имя имеет вид
prefix.domain, либо это просто имя компьютера.
В первом случае prefix это последовательность одного или более слов, разделенных точкой, а domain – слово из
английских букв длиной 2 или 3 символа. А в случае, если host является просто именем компьютера, то host – это одно
слово.
Элемент port – это целое число от 0 до 65535 без лидирующих нулей.
Элемент path – это последовательность одного или более слов, разделенных символом «/» (код 47).
Элемент file – это нуль или более слов, разделенных символом точка «.» (код 46).
Слово – это последовательность из одного или более символов. Если не оговорено специально, то допустимыми
символами слова считаются английские буквы произвольного регистра, цифры и символ подчеркивание «_» (код 95).

Входные данные
Входной файл INPUT.TXT содержит не более 10000 строк. Все строки содержат символы с кодами от 33 до 127
включительно. Длина каждой строки не превосходит 1000 символов. Размер файла не превосходит 500Кб. Помните, что
любой тест (как и любой корректный тестовый файл) заканчивается символом перевода строки.

Выходные данные
В выходной файл OUTPUT.TXT для каждой из строк выведите в отдельной строке «YES», если строка представляет
корректную запись URL, либо «NO» в противном случае.

https://acmp.ru/index.asp?main=alltasks 502/591
2/29/2020 Все задачи сайта

Пример
№ INPUT.TXT OUTPUT.TXT
http://acm.sgu.ru/index.html YES
212.193.39/index.jsp NO
1
http://acm.sgu.ru/01/index.php YES
212.193.39.146/start/index.jsp YES

Задача №871
Автогонки
(Время: 3 сек. Память: 32 Мб Сложность: 35%)
В городе N в ближайшее время состоится этап чемпионата мира по автогонкам среди автомобилей класса Формула-0.
Поскольку специальный автодром для этих соревнований организаторы построить не успели, было решено организовать
трассу на улицах города.
В городе N есть n перекрестков, некоторые пары которых соединены дорогами, движение по которым возможно в
обоих направлениях. При этом любые два перекрестка соединены не более чем одной дорогой, и есть возможность доехать
по дорогам от любого перекрестка до любого другого.
Трасса, на которой будут проводиться соревнования, должна быть круговой (т.е. должна начинаться и заканчиваться на
одном и том же перекрестке), при этом в процессе движения по ней никакой перекресток не должен встречаться более
одного раза.
На предварительном этапе подготовки оргкомитетом был создан список всех дорог города. Теперь настало время его
использовать. Первый вопрос, который необходимо решить, вопрос о существовании в городе требуемой круговой трассы
(разумеется, если ответ будет отрицательным, организаторам придется в срочном порядке построить еще несколько дорог).
Единственная проблема заключается в том, что у организаторов есть подозрение, что, поскольку список составлялся не
очень внимательно, в нем некоторые дороги указаны больше одного раза.
Напишите программу, которая по заданному списку дорог города определит, возможна ли организация в городе
требуемой круговой трассы.

Входные данные
Первая строка входного файла INPUT.TXT содержит два целых числа: n (1 ≤ n ≤ 103) – количество перекрестков в
городе N и m (0 ≤ m ≤ 105) – количество дорог в составленном списке.
Последующие m строк описывают дороги. Каждая дорога описывается двумя числами: u и v (1 ≤ u, v ≤ n, u ≠ v)
номерами перекрестков, которые она соединяет. Так как дороги двухсторонние, то пара чисел (u, v) и пара чисел (v, u)
описывают одну и ту же дорогу.

Выходные данные
В выходной файл OUTPUT.TXT выведите слово YES, если в городе возможно организовать круговую трассу для
соревнований, и слово NO в противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 4 YES
1 2
1 2 3
3 1
3 2
2 3 NO
1 2
2
2 1
2 1

Задача №872
Цепочка слов
https://acmp.ru/index.asp?main=alltasks 503/591
2/29/2020 Все задачи сайта

(Время: 2 сек. Память: 16 Мб Сложность: 37%)


Цепочкой слов длины n назовем последовательность слов w1, w2, ..., wn такую, что для 1 ≤ i < n слово wi является
собственным префиксом слова wi+1.
Напомним, что слово u длины k называется собственным префиксом слова v длины l, если k < l и первые k букв слова
v совпадают со словом u.
Задан набор слов S = {s1, s2, ..., sm}. Найдите максимальную длину цепочки слов, которую можно построить,
используя (возможно, не все) слова этого набора.

Входные данные
Входной файл INPUT.TXT содержит целое число m (1 ≤ m ≤ 255). Каждая из последующих m строк содержит по
одному слову из набора S. Все слова не пусты, имеют длину, не превосходящую 255 символов, и состоят только из
строчных букв английского алфавита.

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 3
a
1
ab
abc
5 2
a
ab
2
bc
bcd
add

Задача №873
Шифр «Решетка»
(Время: 1 сек. Память: 16 Мб Сложность: 54%)
Рассмотрим перестановочный шифр, называемый «Решетка» («перестановочный» означает, что символы,
составляющие послание, не изменяются, но меняются местами). Суть его заключается в следующем. Выбирается четное
число n, затем в квадрате n×n вырезается n2/4 клеток. При этом клетки выбираются так, что если наложить решетку на
квадрат n х n, и затем последовательно развернуть ее на 90, 180 и 270 градусов, то каждый раз квадратики, совмещенные с
вырезанными клетками, будут различны.
Такой квадрат n×n называется «правильным ключом». Ваша задача посчитать количество «правильных ключей». Так
как это число может быть очень большим, мы предлагаем Вам найти его значение по модулю m. Ключи, получаемые
поворотом на 90, 180 и 270 градусов считаются различными.

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

Входной файл INPUT.TXT содержит целые числа n и m (2 ≤ n, m ≤ 106), n - четно.

Выходные данные
В выходной файл OUTPUT.TXT выведите количество «правильных ключей» размером n×n по модулю m.

Пример
№ INPUT.TXT OUTPUT.TXT
1 2 100 4

https://acmp.ru/index.asp?main=alltasks 504/591
2/29/2020 Все задачи сайта

Задача №874
Гирлянда
(Время: 1 сек. Память: 16 Мб Сложность: 50%)
Приближается Новый Год, и в магазинах начинают появляться различные елочные украшения. На прилавках можно
увидеть различные шарики, шишечки, звездочки, но все-таки самым красивым украшением является гирлянда из
разноцветных лампочек. Одна из фирм, занимающихся изготовлением елочных украшений, решила в этом году
изготавливать гирлянды на заказ.
Гирлянды, изготавливаемые этой фирмы, состоят из лампочек различных цветов, соединенных проводами. Всего в
гирлянде n лампочек, каждая из которых покрашена в один из k цветов, и m проводов (каждый провод соединяет ровно две
лампочки). Далее мы будем считать, что лампочки пронумерованы натуральными числами от 1 до n.
К сожалению, не каждый дизайн гирлянды соответствует эстетическим взглядам заказчиков. Во-первых, лампочки,
соединенные одним проводом должны быть разного цвета, во-вторых, сама конфигурация гирлянды (то есть то, какие
лампочки и как соединены проводами) не может быть любой.
Один из отделов фирмы уже провел исследование и нашел наиболее «удачную» конфигурацию. Ваша же задача
состоит в том, чтобы найти число способов раскрасить лампочки, чтобы получившаяся гирлянда удовлетворяла
эстетическим взглядам заказчиков.

Входные данные
Первая строка входного файла INPUT.TXT содержит три целых числа: n, k, m (1 ≤ n, k ≤ 8, 0 ≤ m ≤ 10). Последующие
m строк описывают провода. Описание каждого провода состоит из двух чисел u и v (1 ≤ u, v ≤ n, u ≠ v) – номеров
лампочек, соединенных этим проводом.

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 2 1 2
1
1 2
2 4 4 0 256
4 4 6 24
1 2
1 3
3 1 4
2 3
2 4
3 4

Задача №875
Игра «Жизнь»
(Время: 1 сек. Память: 16 Мб Сложность: 29%)
Игра «Жизнь» была придумана английским математиком Джоном Конвейем в 1970 году. Впервые описание этой игры
опубликовано в октябрьском выпуске (1970) журнала Scientic American, в рубрике «Математические игры» Мартина
Гарднера.
Место действия этой игры – «вселенная» – это размеченная на клетки поверхность. Каждая клетка на этой
поверхности может находиться в двух состояниях: быть живой или быть мертвой. Клетка имеет восемь соседей.
Распределение живых клеток в начале игры называется первым поколением. Каждое следующее поколение
рассчитывается на основе предыдущего по таким правилам:

пустая (мертвая) клетка с ровно тремя живыми клетками-соседями оживает;


если у живой клетки есть две или три живые соседки, то эта клетка продолжает жить; в противном случае (если
соседок меньше двух или больше трех) клетка умирает (от «одиночества» или от «перенаселенности»).

https://acmp.ru/index.asp?main=alltasks 505/591
2/29/2020 Все задачи сайта

В этой задаче рассматривается игра «Жизнь» на торе. Представим себе прямоугольник размером n строк на m
столбцов. Для того, чтобы превратить его в тор мысленно «склеим» его верхнюю сторону с нижней, а левую с правой.
Таким образом, у каждой клетки, даже если она раньше находилась на границе прямоугольника, теперь есть ровно
восемь соседей.
Ваша задача состоит в том, чтобы найти конфигурацию клеток, которая будет через k поколений от заданного.

Входные данные
Первая строка входного файла INPUT.TXT содержит три целых числа: n, m, k (4 ≤ n, m ≤ 100, 0 ≤ k ≤ 100).
Последующие n строк содержат по m символов каждая и описывают начальную конфигурацию. j-ый символ i-ой строки
равен «.» (точка), если соответствующая клетка мертва, и «*» (звездочка) – если жива.

Выходные данные
В выходной файл OUTPUT.TXT выведите конфигурацию клеток через k поколений после начального в том же
формате, в каком конфигурация задается во входном файле.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 5 1 .*.**
**... *.*..
..**. .*.*.
1
.*... ..*..
..*.. .**..
...*.
5 5 5 .***.
**... .*...
..**. .*...
2
.*... ..**.
..*.. .....
...*.
4 7 5 .......
.*.*.*. .......
3 *.*.*.* .......
.*.*.*. .......
*.*.*.*

Задача №876
Оптимизация на окружности
(Время: 1 сек. Память: 16 Мб Сложность: 27%)
Найдите максимальное значение функции f(x, y) = Ax + By при условии, что x2 + y2 = R2, и аргументы, при котором
оно достигается.

Входные данные
Входной файл INPUT.TXT содержит три вещественных числа: A, B, R (1 ≤ A, B, R ≤ 10), заданные не более чем с
тремя знаками после десятичной точки.

Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите максимальное значение, которое достигает функция. Во
второй строке выведите значения аргументов x0,y0, при которых это значение достигается. Все числа должны быть
выведены с точностью не хуже 10−5.

Примеры
№ INPUT.TXT OUTPUT.TXT

https://acmp.ru/index.asp?main=alltasks 506/591
2/29/2020 Все задачи сайта
1 1 1 1 1.414213562373
0.707106781187 0.707106781187
2.0 1.0 1.0 2.236067977500
2
0.894427191000 0.447213595500

Задача №877
Диалоги по UCM
(Время: 1 сек. Память: 16 Мб Сложность: 31%)
Федя живет активной жизнью онлайн. Он легко ищет самые сложные рефераты, используя всемирно известные
поисковые машины, скачивает музыку и делится ею с друзьями, он присоединился к многим популярным сообществам в
Jивом Jурнале. И конечно же, он много общается с интернет-друзьями по UCM (You Seek Me) известному чат-клиенту.
Федя учится в школе. В школе изучают русский язык. Однажды учительница задала домашнее задание написать не
менее 10-15 фраз, используя косвенную речь. Феде лень переписывать стандартные фразы из школьных учебников, он
хочет мыслить нестандартно. И вот у Феди блеснула оригинальная идея – а не взять ли несколько диалогов из его
любимого UCM и не перевести ли их в косвенную речь?
Идея хороша, но, к сожалению, Федя не умеет программировать, так как его еще не учили этому в школе. Помогите
ему!

Входные данные
Во входном файле находится распечатка одного из диалогов по UCM. В первой строке находится сообщение о том, что
собеседник Феди вошел с ним в контакт. Оно выглядит так:
ЧЧ:ММ:СС: <Имя> signed on
где ЧЧ:ММ:СС – время, когда собеседник вошел в контакт, <Имя> – имя собеседника, записанное в транслите
(английскими буквами). Любое число в отображении времени занимает две цифры, например, 9 часов 43 минуты 5 секунд
будет выглядеть как 09:43:05.
В каждой из последующих строк (кроме самой последней строки файла) находится реплика участника диалога. Если
каждой реплике присвоить ее порядковый номер (начиная с единицы), то нечетные реплики были произнесены Федей, а
четные – его собеседником.
Реплика находится целиком на одной строке и состоит из метки времени, смысловой части и знака препинания конца
предложения.
Метка времени имеет вид ЧЧ:ММ:СС:.
Смысловая часть отделена от метки времени пробелом и содержит текст, состоящий из больших или маленьких
английских букв, цифр, пробелов, апострофов (заменяют мягкий и твердый знаки в транслите), а также запятых, точек с
запятыми и круглых скобок.
Знак препинания – это восклицательный знак, вопросительный знак или точка. Он может быть опущен, в этом случае
подразумевается точка.
Пример реплики:
11:22:33: Ya skazal etu frazu.
Последняя строка файла имеет вид
ЧЧ:ММ:СС: <Имя> signed off
где <Имя> – имя все того же собеседника.
Объем входного файла не превышает 20 килобайт. Длина каждой строки не превосходит 250 символов.

Выходные данные
В выходной файл OUTPUT.TXT выведите для каждой реплики ее же, преобразованную в косвенную речь.
Преобразование заключается в следующем. Сначала заключите реплику в двойные кавычки, при этом если она
оканчивается на точку, то вместо точки поставьте запятую, иначе оставьте знак препинания без изменений, например:
Zakanchivayu tochkoi. → «Zakanchivayu tochkoi,» Eto voskhititel'no! → «Eto voskhititel'no!»
Затем поставьте пробел, три знака «–» (тире) и снова пробел, после чего выведите слово «ѕkazal» и имя собеседника,
произнесшего эту реплику. После имени выведите точку. Федя запишется как «Fedya», имя его собеседника можно узнать
https://acmp.ru/index.asp?main=alltasks 507/591
2/29/2020 Все задачи сайта

из первой строки входного файла.

Пример
№ INPUT.TXT OUTPUT.TXT
08:59:59: Vasya signed on "Privet!" --- skazal Fedya.
09:00:00: Privet! "Privet," --- skazal Vasya.
1
09:00:31: Privet
09:00:59: Vasya signed off

Задача №878
Алфавит
(Время: 1 сек. Память: 16 Мб Сложность: 25%)
Воспитательница Галя работает в детском саду. Кроме детских игр в этом детском саду проходят занятия. Вот уже
неделю ребята изучают буквы английского алфавита. Каждое утро воспитательница выстраивает всех своих подопечных в
ряд и они играют в игру.
Первый ребенок в ряду громко называет первую букву алфавита – A. Второй должен назвать B, третий – C и так далее.
По счастливому стечению обстоятельств всего в группе 26 детей и столько же сколько и букв в английском алфавите.
Если каждый ребенок без ошибки назовет свою букву, то группа отпразднует знание английского алфавита и ребята по
этому случаю съедят большой торт. Однако, пока что группе не удается правильно назвать все 26 букв и каждое утро то
один, то другой называет свою букву неправильно и игра на этом заканчивается.
Ребята учат буквы подряд и каждый из них знает первые несколько букв алфавита и не может назвать остальные.
Поэтому возможность выиграть напрямую зависит от их расстановки. К примеру, если последним в ряду окажется
ребенок, знающий английский алфавит только до буквы D, то букву Z он назвать не сможет и группа не выиграет
независимо от того, насколько хорошо выучили алфавит остальные ребята.
Галя считает, что группа в целом уже достаточно хорошо знает алфавит и хочет помочь своим ребятам выиграть. Для
этого ей нужно всего лишь расставить их так, чтобы первый ребенок в ряду знал алфавит хотя бы до буквы A, второй хотя
бы до буквы B и так далее, последний в ряду должен знать все буквы.
Помогите Гале решить: в каком порядке расставить ребят, чтобы они смогли выиграть или выясните, что это пока
невозможно.

Входные данные
Входной файл INPUT.TXT содержит строку, состоящую из 26 букв английского алфавита, записанных слитно; i-я из
этих букв говорит о том, до какой буквы знает алфавит i-й ребенок.

Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите YES, если воспитательнице удастся выстроить своих детей
в ряд так, чтобы они выиграли и NO, если им для этого еще надо поучиться. Если расстановка возможна, во второй строке
выведите перестановку из 26 чисел от 1 до 26 через пробел – порядок детей в ряду. Если решений несколько, можно
вывести любое.

Примеры
№ INPUT.TXT OUTPUT.TXT
ABCDEFGHIJKLMNOPQRSTUVWXYZ YES
1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
23 24 25 26
BCARTYXYZZYZZYXYXYZZYZZYXV YES
2 3 1 2 4 5 26 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
22 25 24 23
3 AAZZZZZZZZZZZZZZZZZZZZZZZZ NO

Задача №879
Графы
https://acmp.ru/index.asp?main=alltasks 508/591
2/29/2020 Все задачи сайта

(Время: 2 сек. Память: 16 Мб Сложность: 70%)


Однажды в древнее государство Оссия приехал ученый японец Хисикоши. Он обнаружил, что в этом государстве есть
одна большая проблема – дороги, а точнее их отсутствие. Еще он обнаружил другую проблему – графов (а было их N),
которые, мягко говоря, не отличались особенным уровнем интеллекта. Хисикоши решил помочь построить дороги. С
рабочей силой проблем не было, поэтому он решил подойти к этому мероприятию с выдумкой. Он узнал имена всех
графов и записал их по-японски (а в Японии, как известно, пользуются иероглифами). Он решил, что надо провести
дорогу между замками двух графов (и ввести на ней одностороннее движение от первого ко второму – чтобы интереснее
было), если последняя буква имени первого графа совпадает с первой буквой имени второго. Однако, оказалось, что не от
каждого графа можно доехать до всех других. Тогда он решил поселить еще несколько графов и дать им имена так, чтобы
теперь можно было бы доехать от любого графа до любого другого. Какое наименьшее количество графов ему надо
добавить?
Будем считать, что японский иероглиф однозначно кодируется тремя английскими буквами. И каждой трехбуквенной
комбинации соответствует свой иероглиф.

Входные данные
В первой строке входного файла INPUT.TXT находится целое число N – количество графов (1 ≤ N ≤ 100 000). В
следующих N строках написаны их имена. При этом гарантируется, что длина каждого имени (в английских символах)
делится на 3. Имена написаны большими английскими буквами. Каждое имя содержит от одного до десяти иероглифов.

Выходные данные
В выходной файл OUTPUT.TXT выведите единственное целое число – минимальное количество графов, которые
должен поселить Хисикоши.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 1
1 AAABBB
BBBCCC
2 2
2 AAABBB
CCCDDD
3 2
AAABAA
3
ABAAAB
AABBAA

Задача №880
Покрытие
(Время: 2 сек. Память: 32 Мб Сложность: 74%)
Представим себе комнату размера m×n, пол которой расчерчен линиями сетки на квадраты 1×1. Предлагается покрыть
пол этой комнаты дощечками весьма необычного вида.
Одна дощечка представляет собой фигуру, состоящую ровно из 6 клеток квадрата 3×3 и являющуюся связной по
стороне (иными словами, из любой клетки можно попасть в любую другую, перемещаясь между центрами соседних
клеток только по вертикали и горизонтали и не покидая пределов фигуры). Все дощечки одинаковы. Дощечки
выкладываются на пол так, чтобы стороны их клеток совмещались с линиями сетки на полу; их нельзя ни поворачивать, ни
перевернуть и положить обратной стороной вверх.
Покрытием назовем такое положение дощечек, что каждая клетка пола покрыта хотя бы одной дощечкой из этого
набора. Покрытие клетки пола более чем одной дощечкой, равно как и покрытие клеток вне пределов комнаты,
допускается.
Требуется узнать, какое минимальное количество дощечек данного вида потребуется, чтобы построить покрытие пола
нашей комнаты.

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

https://acmp.ru/index.asp?main=alltasks 509/591
2/29/2020 Все задачи сайта

В первой строке входного файла INPUT.TXT заданы через пробел два целых числа m и n (1 ≤ m, n ≤ 9). В следующих
трех строках описан квадрат 3×3, содержащий дощечку. Каждая из этих строк содержит ровно три символа. Символ «X»
(икс большое) соответствует клетке дощечки, а символ «.» (точка) – пустой клетке. Гарантируется, что эти строки не
содержат других символов, суммарное количество символов «X» на них равно шести, и фигура из букв «X» связна по
стороне.

Выходные данные
В выходной файл OUTPUT.TXT выведите минимальное количество дощечек данного вида, которые нам потребуются,
чтобы построить покрытие пола.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 3 3
.X.
1
XXX
XX.
3 2 1
XXX
2
XXX
...
2 3 2
XXX
3
XXX
...
2 2 2
XXX
4
X.X
..X

Задача №881
Фатализм
(Время: 1 сек. Память: 16 Мб Сложность: 42%)
Роботу Прайму (конструктору роботов) надоели его творения – они получаются слишком тупыми и бездумными, и
среди них не найти собеседника и даже просто мыслителя, достойного общаться с самим Праймом, великим и
неповторимым. Прайм испробовал уже все известные ему методы, но создать себе подобного до сих пор не получилось. В
отчаянии он придумал себе игру, чтобы как то отвлечься от своей неразрешимой проблемы, преодолеть творческий кризис
и заодно пустить побольше своих творений по правильному пути. Игра называется «Фатализм» и заключается в
следующем.
Прайм создает лабиринт размера m×n клеток, огороженный со всех сторон стенами. Каждая клетка лабиринта – либо
свободное пространство, либо стена. В начальный момент времени в некоторых клетках, где нет стены, стоят роботы и
смотрят в одном из четырех направлений. Никакие два робота не стоят в одной клетке.
Каждый робот движется с постоянной скоростью – одна клетка в секунду – в направлении, в котором он смотрит, и
светит лазером в этом же направлении до ближайшей стены. В конце каждой секунды некоторые роботы взрываются. Это
происходит в трех случаях:

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

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

https://acmp.ru/index.asp?main=alltasks 510/591
2/29/2020 Все задачи сайта

Входные данные
В первой строке входного файла INPUT.TXT заданы через пробел три числа m, n и k (1 ≤ m, n, k ≤ 100). В следующих
n строках содержится ровно по m символов в каждой: i-ый символ в j-ой из этих строк равен «X» (икс большое), если
соответствующая клетка (i, j) занята стеной, и «.» (точка), если эта клетка пуста. Далее идут k строк, описывающие
роботов. Каждая из них имеет вид (xi,yi,zi), где xi и yi – координаты робота (1 ≤ xi ≤ m, 1 ≤ yi ≤ n), а zi – один из четырех
символов направления: символ «U» (up) соответствует уменьшению координаты y, символ «L» (left) – уменьшению
координаты x, символ «D» (down) – увеличению y, а символ «R» (right) – увеличению x. Все числа во входном файле
целые.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – сколько секунд пройдет до того момента, как все роботы
взорвутся.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 1 2 2
X...X
1
3 1 L
4 1 R
4 4 4 1
X..X
....
....
2 X..X
1 3 R
3 4 U
4 2 L
2 1 D
4 5 3 4
....
....
....
3 ....
....
1 4 R
3 5 U
4 5 U
3 6 5 5
.X.
.X.
.X.
...
...
4
.X.
1 4 R
2 5 U
3 5 U
1 6 R
3 6 L

Задача №882
Губернатор
(Время: 1 сек. Память: 16 Мб Сложность: 56%)
Вам, как губернатору города, необходимо организовать в своем городе постройку нескольких зданий, чтобы привести
его в соответствие мировым стандартам. Губернатор вы не простой, а с высшим экономическим образованием, поэтому
Вас в первую очередь заботит денежная сторона вопроса. Создав комиссию по этому поводу и проведя первое заседание,
вы выяснили следующее.
https://acmp.ru/index.asp?main=alltasks 511/591
2/29/2020 Все задачи сайта

В настоящее время, то есть до постройки требуемых зданий, город приносит стабильный доход – K золотых монет в
месяц. Однако постройка любого здания может существенно изменить сложившееся положение.
Пронумеруем здания, требующие постройки числами от 1 до N, где N – их количество. Каждое здание i
характеризуется двумя числами. Во-первых, это число ai – его эффективность. Она является вещественным числом и
обозначает то, во сколько раз возрастет текущая прибыль при постройке этого здания. Второй параметр bi – это количество
золотых монет, которые каждый месяц уходят на содержание этого здания. В итоге, если к моменту постройки i-го здания
месячный доход составлял X монет, то после постройки этого здания его величина станет равна ai•X – bi. Отметим, что
итоговый доход не обязательно будет целым числом.
Следует также учесть, что комитет по городскому строительству имеет сравнительно небольшой и мало обученный
штат. Нехватка квалифицированных административных кадров проявляется прежде всего в том, что строители не могут
работать над двумя проектами одновременно, а начав работу над одним зданием, не могут перейти к другому, не закончив
первое.
Перед комиссией теперь стоит нелегкая задача: решить, в каком порядке строить здания – а строить их надо все, даже
те, которые невыгодны – чтобы получать максимальный доход после постройки всех зданий. Как и следовало ожидать, для
ваших коллег это оказалось слишком сложной задачей. Помогите им!

Входные данные
В первой строке входного файла INPUT.TXT записаны через пробел два целых числа N и K (1 ≤ N ≤ 10 000, 1 ≤ K ≤
106).Далее, в каждой из N последующих строк описано по зданию. Каждое описание имеет вид ai bi, где число ai –
вещественное (0 ≤ ai ≤ 10), а bi – целое (0 ≤ bi ≤ 100). i-ая из строк файла соответствует (i−1)-му зданию в нумерации,
используемой комиссией.

Выходные данные
В выходной файл OUTPUT.TXT выведите перестановку из N чисел от 1 до N, по одному числу на строку – номера
зданий в порядке их постройки. Если существует несколько перестановок, максимизирующих прибыль, разрешается
вывести любую.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 10 2
1 1 5 1
2 3
4 6 2
1.2 3 3
2 1.5 2 1
2.0 4 4
0.5 1

Задача №883
Самое экстравагантное дупло
(Время: 1 сек. Память: 16 Мб Сложность: 35%)
В Звенящем Лесу проводится конкурс на самое экстравагантное дупло. Правда, в целях экономии нервов зрителей,
конкурс проводится среди макетов, а не самих дупел.
В качестве исходного материала каждому из участников предоставляется доска размером 20 000 x 20 000 метров.
Макет элементарного дупла представляет собой окружность, аккуратно выдолбленную на плоскости. Макет же
экстравагантного дупла представляет из себя несколько макетов элементарных дупел, выдолбленных на одной доске.
Каждому участнику уже заданы радиусы всех элементарных дупел, которые он должен выдолбить. Более того, даже
последовательность их выдалбливания строго зафиксирована. Таким образом, единственное, что каждый из участников
может варьировать – это координаты центра каждого элементарного дупла.
Казалось бы, все возможности для свободного творчества уже перекрыты, но это не так. Во-первых, каждому
элементарному дуплу соответствует некоторое изначальное количество баллов. Во-вторых, сразу после выдалбливания
очередного элементарного дупла за него начисляется итоговый балл, равный сумме изначального балла за это дупло и всех
итоговых баллов за уже выдолбленные элементарные дупла, с которыми данное дупло пересекается. Итоговый балл за
https://acmp.ru/index.asp?main=alltasks 512/591
2/29/2020 Все задачи сайта

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

Входные данные
В первой строке входного файла INPUT.TXT задано число n – количество элементарных дупел, которые надо
задействовать (1 ≤ n ≤ 1 000). Далее следуют n строк, каждая из которых описывает соответствующее дупло и содержит
два целых числа: ri и ci (0 < ri, ci ≤ 1000), где ri – радиус соответствующего дупла в метрах, а ci – изначальное количество
баллов, соответствующее данному элементарному дуплу. Дупла даны в порядке выдалбливания.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать ровно n строчек, в каждой по два числа – координаты центра
соответствующего элементарного дупла в метрах с точностью не менее 10−6 метра. Кроме того, макеты дупел не должны
выходить за пределы исходной доски, а расстояние между любыми двумя центрами должно быть не менее сантиметра.
Точка (0, 0) соответствует центру исходной доски. Если возможны несколько вариантов расстановки дупел, дающих
максимальный балл, выведите любой.

Пример
№ INPUT.TXT OUTPUT.TXT
3 0 1
10 10 0 2
1
20 20 0 3
30 30

Задача №884
Дорога
(Время: 3 сек. Память: 16 Мб Сложность: 85%)
В Древнем государстве Оссия было два города, между которыми была проложена дорога длиной S метров. Через
каждый метр стояли столбики, на каждом из которых по некоторому принципу (этот секретный принцип был известен
только древним монахам Шамбалы) было написано по букве (а алфавит там у них был английский). Однажды князь-
король Василий I решил, что человек, когда он едет по этой дороге, слишком редко вспоминает о нем. Он решил это
исправить. Для этого он повелел на некоторых столбиках вместо буквы написать «Здесь был Вася». По его представлению,
человек, проехав любой участок дороги длиной K метров, должен обязательно хоть раз увидеть такую надписью Иными
словами, среди каждых K идущих подряд столбиков должен оказаться хоть один, на котором буква заменена на надпись.
При этом, чтобы не слишком раздражать монахов (а они люди обидчивые), Василий I приказал выбрать для надписи такие
столбики, чтобы среди стертых букв оказалось как можно меньше различных букв английского алфавита.
Помогите боярам выполнить приказ своего повелителя.

Входные данные
В первой строке входного файла INPUT.TXT написано одно целое число K (1 ≤ K ≤ 100 000). Во второй строке – без
пробелов написано S заглавных английских букв в той последовательности, в которой ими помечены столбики вдоль
дороги. Гарантируется, что K ≤ S ≤ 100 000.

Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите N – минимальное количество различных букв английского
алфавита, которые хотя бы на одном столбике придется стереть, чтобы написать «Здесь был Вася». В следующих N
строках выведите те заглавные буквы английского алфавита, которые потребуется хоть раз стереть. Буквы можно выводить
в любом порядке. Если ответов с минимальным N несколько, можно вывести любой из них.

Примеры
https://acmp.ru/index.asp?main=alltasks 513/591
2/29/2020 Все задачи сайта

№ INPUT.TXT OUTPUT.TXT
2 1
1
ABA A
2 2
2 ABBAA A
B

Задача №885
Звезды за кормой
(Время: 1 сек. Память: 16 Мб Сложность: 65%)
В последнее время Петя очень заинтересовался одной игрой. Вкратце правила таковы: Имеется море размером (2•n+1)
x (2•n+1) клеток. Изначально в некоторых клетках находятся острова, в некоторых – вражеские корабли, в центре стоит
корабль игрока. За один ход игрок может либо переместиться, либо выстрелить; пропустить ход нельзя.
Перемещение производится на одну из восьми соседних клеток, при условии, что она существует и свободна. При
этом считается, что корабль сначала поворачивается на месте носом к выбранной клетке, а затем двигается в нее.
При выстреле корабль производит залп обоими бортами. Ядра при этом летят перпендикулярно текущему курсу
корабля. Ядра каждого борта поражают первую встретившуюся в данном направлении цель (корабль или остров), но не
далее трех клеток от корабля игрока (не считая клетку, на которой находится сам корабль игрока). Например, если корабль
приплыл из клетки (2, 1) в клетку (1, 2), а затем выстрелил, то он уничтожит вражеский корабль на клетке (4, 5), но не
поразит корабль на (5, 6). Если к тому же на клетке (2, 3) будет стоять корабль или остров, то корабль на (4, 5) останется
цел. Изначально корабль игрока стоит на клетке (n, n) с таким направлением, будто он приплыл из клетки (n−1, n).
После каждого хода игрока вражеские корабли одновременно делают ход. Каждый из кораблей ходит на ту из восьми
соседних клеток, сумма модулей разностей координат которой и координат корабля игрока минимальна. Формально, если
корабль игрока находится на клетке (xs, ys), то выбирается такая клетка (x, y), для которой |xs−x|+|ys−y| минимально. Если
при этом оказывается, что в данной клетке находится остров, то вражеский корабль погибает. Если хотя бы один
вражеский корабль попадает на клетку с кораблем игрока, то игрок проигрывает. Если хотя бы два вражеских корабля
оказываются на одной клетке, то они погибают и на этой клетке образуются обломки, которые далее действуют так же, как
остров за тем исключением, что снаряды перелетают через обломки, а не поражают их. При уничтожении корабля ядром
тоже образуются обломки. На месте острова обломки не образуются. Игрок побеждает, если на поле нет ни одного живого
вражеского корабля.
Пете стало очень интересно, можно ли в каждой конкретной ситуации выиграть или нет. Для этого он решил написать
программу. Нет, Вам не надо ему помогать. Он с этой задачей уже справился, а вот справитесь ли вы?

Входные данные
В первой строке входного файла INPUT.TXT задано число n (1 ≤ n ≤ 6), определяющее размер поля. Далее следуют
2•n+1 строк по 2•n+1 символов в каждой. При этом i-й символ (j+1)-й строки описывает клетку поля с координатами (i−1,
j−1) (клетки нумеруются с 0). Значение символов следующее:

«.» (точка) – пустая клетка;


«t» (t маленькое английское) – вражеский корабль;
«O» (o большое английское) – остров;
«+» (плюс) – корабль игрока.

Символ «+» всегда присутствует и располагается только в клетке с координатами (n×n). Количество остальных
символов может быть любым, и ограничено только размерами доски.

Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите количество ходов, необходимых для выигрыша. В
последующих строках выведите координаты корабля после каждого из ходов, по одной паре в строке. Минимизировать
число ходов не обязательно; тем не менее, если вражеских кораблей уже не осталось, дальнейшие ходы делать не следует.
Если решения не существует, выведите IMPOSSIBLE в единственной строке файла. Если существует несколько решений,
выведите любое.

Примеры
№ INPUT.TXT OUTPUT.TXT

https://acmp.ru/index.asp?main=alltasks 514/591
2/29/2020 Все задачи сайта
1 5 IMPOSSIBLE
..........t
.......t...
O......t...
t..........
.........tO
..t..+.....
...........
...O.....Ot
...O.......
....t......
..t..O.....
5 7
....t..O.O. 5 5
....t...... 5 5
........... 5 5
........... 5 4
........... 5 3
2
..O..+..... 6 2
........... 5 1
...........
...........
.t.........
.....O.....

Задача №886
Суффиксы
(Время: 1 сек. Память: 16 Мб Сложность: 45%)
Назовем строкой последовательность из маленьких букв английского алфавита. Строкой, например, является пустая
последовательность “”, слово “aabaf” или бесконечная последовательность букв “a”.
i-ый суффикс Si строки S – это строка S, из которой вырезаны первые i букв: так, для строки S = “aabaf” суффиксы
будут такими:
S0 = “aabaf”
S1 = “abaf”

S2 = “baf”
S3 = “af”

S4 = “f”

S5 = S6 = S7 = . . . = “”
Суффиксы определены для всех i > 0.

Циклическое расширение S* конечной строки S – это строка, полученная приписыванием ее к самой себе бесконечное
количество раз. Так,

S* = S0* = “aabafaabafaa...”

S1* = “abafabafabaf...”

S2* = “bafbafbafbaf...”

S3* = “afafafafafaf...”

S4* = “ffffffffffff...”

S5* = S6* = S7*= . . . = “”

https://acmp.ru/index.asp?main=alltasks 515/591
2/29/2020 Все задачи сайта

По данной строке S выясните, сколько ее суффиксов Si имеют такое же циклическое расширение, как и сама строка S,
то есть количество таких i, что S*= Si*.

Входные данные
Входной файл INPUT.TXT содержит строку S, состоящую не менее, чем из одной и не более, чем из 100 000
маленьких английских букв.

Выходные данные
В выходной файл OUTPUT.TXT выведите количество суффиксов строки S, имеющих такое же циклическое
расширение, как и она сама.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 aa 2
2 ab 1
3 qqqq 4
4 xyzzyxy 1

Задача №887
Доказательство теоремы
(Время: 1 сек. Память: 16 Мб Сложность: 47%)
Преподаватель читает курс лекций, в рамках которого обычно доказывается N различных теорем. Некоторые теоремы
могут ссылаться в доказательстве друг на друга. Более точно, каждая теорема Ti зависит от некоторого набора из Ci других
теорем; доказать ее можно лишь доказав не менее половины теорем из данного набора. При этом структура курса такова,
что нет такой теоремы, от которой зависели бы две или более различных теоремы, а также нет цепочки теорем (Ti1,Ti2, . . .
, Tis) такой, что Ti1 зависит от Ti2, Ti2 зависит от Ti3, …, Tis−1 зависит от Tis, а Tis – от Ti1.

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

Входные данные
В первой строке входного файла INPUT.TXT записано число N (1 ≤ N ≤ 10 000) – количество теорем. Каждая из
следующих N строк описывает теоремы, от которых зависит Ti−1, где i – номер этой строки во входном файле. Эти строки
имеют вид Ai,1 Ai,2 ... Ai,Ci 0; здесь Ai,j – номер теоремы, от которой зависит Ti−1. Среди всех чисел Ai,j во входном файле
нет двух одинаковых. Основная теорема имеет номер 1. Все числа во входном файле целые.

Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите K – минимальное количество теорем, которые потребуется
доказать. В последующих K строках выведите номера этих теорем в порядке их доказательства, по одному числу в каждой.
Если ответов с минимальным K несколько, можно вывести любой из них.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 2
1 2 0 2
0 1
https://acmp.ru/index.asp?main=alltasks 516/591
2/29/2020 Все задачи сайта

2 6 4
2 3 6 0 4
4 0 3
0 2
0 1
0
5 0
3 1
0 1
3
1 0
2 0

Задача №888
Карусель
(Время: 1 сек. Память: 16 Мб Сложность: 22%)
Карусель – одна из популярных форм проведения командных соревнований по решению задач. Наибольшую
известность в использовании данной модели в России получил ресурс «Интернет-карусели», расположенный в сети
Интернет по адресу http://karusel.desc.ru.
Всем командам, участвующим в карусели, предлагаются в строгом порядке одни и те же задачи, которые необходимо
решить в установленное время. Система подсчета баллов такова, что доминирующим фактором является не количество
решенных задач, а длины последовательностей правильных решений.
Начисление баллов происходит согласно следующей схеме:

первая задача стоит 3 балла;


если к задаче дан верный ответ, то команда получает ее стоимость, а следующая задача будет стоить на 1
балл больше;
если на задачу дан неверный ответ, то команда получает за решение 0 баллов, а следующая задача будет
стоить на 3 балла меньше, но не менее 3 баллов.

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

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

Первая строка входного файла INPUT.TXT содержит натуральное число N – количество задач в карусели (N ≤ 105). Во
второй строке расположены N цифр 0 или 1, разделенные пробелом; i-я цифра соответствует корректности ответа команды
на i-ю задачу (0 – неверный ответ, 1 – верный ответ).

Выходные данные
В выходной файл OUTPUT.TXT выведите целое число – количество набранных баллов.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 12
1
1 1 1
9 30
2
1 0 1 1 1 1 0 1 1

Задача №889
Паутина
(Время: 1 сек. Память: 16 Мб Сложность: 38%)
Имеется паутина на плоскости, состоящая из нитей, параллельных осям координат. В основе конструкции паутины
лежит бесконечное множество вертикальных нитей, пронумерованных слева направо, начиная с единицы. Смежные
вертикальные нити могут быть соединены горизонтальными нитями на некоторой высоте. Для каждой вертикальной нити
на определенной высоте может быть не более одного подобного соединения.

https://acmp.ru/index.asp?main=alltasks 517/591
2/29/2020 Все задачи сайта

На одной из вертикальных нитей, в самом верху (выше всех горизонтальных


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

Входные данные
Первая строка входного файла INPUT.TXT содержит два числа K и M, где K – номер
нити, соответствующей начальному положению паука. Далее идут M строк, определяющих
горизонтальные соединения, по одному в каждой строке. Каждое такое соединение
определяется двумя числами P и H, обозначающие соединение смежных вертикальных
нитей с номерами P и P+1 на высоте H. Во входных данных все числа натуральные, имеющие следующие ограничения: K,
P, H ≤ 109, M ≤ 105.

Выходные данные
В выходной файл OUTPUT.TXT выведите целое число – ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 6 2
1 2
3 4
1 2 5
3 1
1 4
2 3

Задача №890
Охрана - 2
(Время: 1 сек. Память: 16 Мб Сложность: 41%)
В одном из секретных учреждений в целях безопасности установлены два инфракрасных датчика движения. Каждый
датчик позволяет контролировать пространство, ограниченное формой прямоугольного параллелепипеда. Причем, датчики
в здании установлены таким образом, что все грани охраняемых датчиками граничных зон параллельны стенам здания.
При этом охраняемые зоны могут пересекаться, совпадать, включаться одна в другую и т.д.
По заданным координатам охраняемых зон необходимо определить общий объем территории, покрываемой
датчиками.

Входные данные
Входной файл INPUT.TXT содержит две строки, каждая из которых определяет охраняемую датчиком зону. Каждая
зона определяется 6 целыми числами x1, y1, z1, x2, y2, z2, где (x1, y1, z1) и (x2, y2, z2) – координаты противоположных
вершин правильного параллелепипеда. Все числа записаны через пробел и не превосходят 104 по абсолютной величине.

Выходные данные
В выходной файл OUTPUT.TXT выведите целое число – совокупный объем охраняемой территории.

Примеры
№ INPUT.TXT OUTPUT.TXT
0 0 0 2 2 2 9
1
3 3 3 4 4 4
0 0 3 3 3 0 34
2
2 2 2 4 4 4

https://acmp.ru/index.asp?main=alltasks 518/591
2/29/2020 Все задачи сайта

Задача №891
Кубик Рубика
(Время: 3 сек. Память: 16 Мб Сложность: 67%)
Кубик Рубика – популярная головоломка в форме куба, состоящая из множества
мелких кубиков. Каждая видимая сторона такого кубика окрашена в определенный цвет.
Повороты сторон кубика позволяют переупорядочить цветные квадраты множеством
различных способов. Целью игры служит поиск последовательности поворотов сторон
куба таким образом, чтобы он вернулся в первоначальное состояние, где каждая из граней
состоит из квадратов одного цвета.
Доказано, что число всех достижимых различных состояний традиционного 6-
цветного кубика Рубика 3×3×3 равно 43 252 003 274 489 856 000, а оптимальная
последовательность ходов, необходимых для сборки кубика Рубика из любого состояния
не превышает 20. Алгоритм, собирающий кубик Рубика за минимальное число ходов,
традиционно называется «алгоритмом Бога», а 20 – числом Бога.
Рассмотрим более простую модель кубика Рубика 2×2×2, в которой используется
всего 3 цвета: красный (R), синий (B) и зеленый (G). При этом противоположные грани
окрашены в одинаковый цвет. Под ходом будем понимать вращение одной из граней на угол 90º. Поскольку всего 6 граней
(передняя (F), левая (L), задняя (B), правая (R), верхняя (U) и нижняя (D)), то всего может быть 12 различных ходов (по
часовой и против часовой стрелки для каждой грани). Ходы обозначаются буквами соответствующих граней, если ход
происходит против часовой стрелки, то после буквы ставится апостроф (ASCII 39).
По заданной конфигурации трехцветного кубика Рубика 2×2×2 требуется найти оптимальный алгоритм (алгоритм
Бога), решающий головоломку.

Входные данные
Входной файл INPUT.TXT содержит две строки, определяющие конфигурацию кубика Рубика. Первая строка
содержит информацию о цветах верхнего слоя для каждой грани – пары символов, разделенные пробелом. Вторая строка
аналогичным образом описывает нижние слои. Порядок граней (слева направо): передняя, левая, задняя, правая, верхняя,
нижняя.

Выходные данные
В выходной файл OUTPUT.TXT выведите оптимальное решение головоломки для заданной конфигурации кубика
Рубика. Если решений несколько, выведите любое. Если задана начальная конфигурация (кубик Рубика собран), то следует
вывести «Solved».

Примеры
№ INPUT.TXT OUTPUT.TXT
RR GG RR GG BB BB Solved
1
RR GG RR GG BB BB
RR BG GR GB GR BB F'R
2
GG BR GR RB BB GR
BR GR GR GR BB RR LULU'LB'DBR
3
BG RG RG BB GB BG

Задача №892
Время года
(Время: 1 сек. Память: 16 Мб Сложность: 10%)
По заданному номеру месяца в году требуется определить время года.

Входные данные
Входной файл INPUT.TXT содержит натуральное число N (N≤100) – номер месяца.

Выходные данные
https://acmp.ru/index.asp?main=alltasks 519/591
2/29/2020 Все задачи сайта

В выходной файл OUTPUT.TXT выведите для летних месяцев значение «Summer», для зимних – «Winter», для
весенних – «Spring», для осенних – «Autumn». Если число не соответствует возможному значению месяца, то в этом
случае следует вывести «Error».

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 Spring
2 15 Error

Задача №893
Хоккей
(Время: 1 сек. Память: 16 Мб Сложность: 21%)
В соревнованиях по хоккею участвует N команд. Сколько существует вариантов распределения комплектов золотых,
серебряных и бронзовых медалей, если одно призовое место может занять только одна команда?

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

Входной файл INPUT.TXT содержит целое число N (1 ≤ N ≤ 104) – количество команд.

Выходные данные
В выходной файл OUTPUT.TXT выведите единственное число – искомое количество способов награждения
участников.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 6
2 20 6840

Задача №894
Кольцо
(Время: 1 сек. Память: 16 Мб Сложность: 16%)
Заданы площадь кольца и радиус внешней окружности. Требуется
определить радиус внутренней окружности.

Входные данные
Входной файл INPUT.TXT содержит два положительных вещественных
числа: S и R1 – площадь кольца и радиус внешней окружности соответственно.
Радиус внешней окружности не превышает 100.

Выходные данные
В выходной файл OUTPUT.TXT выведите радиус внутренней окружности R2
с точностью не худшей, чем 10-3.

Пример
№ INPUT.TXT OUTPUT.TXT
1 50.265482 5.0 3.000

Задача №895
Крестики-нолики
(Время: 1 сек. Память: 16 Мб Сложность: 19%)
https://acmp.ru/index.asp?main=alltasks 520/591
2/29/2020 Все задачи сайта

Крестики-нолики – логическая игра между двумя противниками на квадратном поле 3


на 3 клетки. Один из игроков играет «крестиками» (тот, кто ходит первым), другой –
«ноликами». Игроки по очереди ставят на свободные клетки поля знаки (один всегда
«крестики», другой всегда «нолики»). Первый, выстроивший в ряд три своих фигуры по
вертикали, горизонтали или диагонали, выигрывает и на этом игра заканчивается. В том
случае, когда все клетки заполнены и победитель не определен, игра завершается ничьей.
По состоянию игрового поля в конце игры требуется определить результат игры для
первого игрока: выиграл, проиграл или сыграл вничью.

Входные данные
Входной файл INPUT.TXT содержит информацию об игровом поле – три строки по три символа в каждой. Символ
«X» (ASCII 88) означает «крестик», символ «O» (ASCII 79) - «нолик», а символ «.» (ASCII 46) - пустую клетку.

Выходные данные
В выходной файл OUTPUT.TXT выведите в случае победы первого игрока «Win», в случае его проигрыша – «Lose» и
«Draw» в случае ничьей.

Примеры
№ INPUT.TXT OUTPUT.TXT
.OX Win
1 .XO
XXO
OXO Lose
2 .OX
OXX
XOX Draw
3 XOX
OXO

Задача №896
Торт - 2
(Время: 1 сек. Память: 16 Мб Сложность: 32%)
Никифор на день рождения собирается угостить друзей тортом. Известно, что на дне рождения может быть либо M,
либо N человек, включая самого именинника. На какое минимальное количество частей ему нужно разрезать торт (не
обязательно всех равных), чтобы при любом из указанных количеств собравшихся, все съели торт поровну?

Входные данные
Входной файл INPUT.TXT содержит два натуральных числа M и N через пробел (1 ≤ M, N ≤ 30000).

Выходные данные
В выходной файл OUTPUT.TXT выведите единственное число – искомое минимальное количество кусочков торта.

Пример
№ INPUT.TXT OUTPUT.TXT
1 2 3 4

Задача №897
Степенные числа
(Время: 1 сек. Память: 16 Мб Сложность: 31%)
Число n называется степенным, если его можно получить из некоторого числа умножением на себя хотя бы один раз.
Например, 4 степенное число, так как 4=2•2, 27 тоже степенное число, так как 27=3•3•3, а 28 не является степенным
числом. Определить являются ли заданные числа степенными.
https://acmp.ru/index.asp?main=alltasks 521/591
2/29/2020 Все задачи сайта

Входные данные
Первая строка входного файла INPUT.TXT содержит натуральное число n - количество исследуемых чисел (1 ≤ n ≤
10). Во второй строке через пробел записаны n чисел - исследуемые числа. Каждое из них больше 1 и меньше 109.

Выходные данные
В выходной файл OUTPUT.TXT выведите n строк. В i-й строке должно быть записано «YES», если i-е число является
степенным и «NO» в противном случае.

Пример
№ INPUT.TXT OUTPUT.TXT
2 YES
1
27 28 NO

Задача №898
Ленточка
(Время: 1 сек. Память: 16 Мб Сложность: 60%)
Расположенную вертикально прямоугольную бумажную ленточку с закрепленным нижним концом стали складывать
следующим образом:
- на первом шаге ее согнули пополам так, что верхняя половина легла на нижнюю либо спереди (P - сгибание) либо
сзади (Z - сгибание),
- на последующих n-1 шагах выполнили аналогичное действие с получающейся на предыдущем шаге согнутой
ленточкой, как с единым целым.
Затем ленточку развернули, приведя ее в исходное состояние. На ней остались сгибы - ребра от перегибов, причем
некоторые из ребер оказались направленными выпуклостью к нам (K - ребра), а некоторые - от нас (O - ребра). Ребра
пронумеровали сверху вниз числами от 1 до 2n-1.
Требуется написать программу, которая по заданной строке символов из прописных букв «P» и «Z», определяющей
последовательность типов сгибаний, и номерам ребер сообщает тип этих ребер, получившийся после данной
последовательности преобразований.

Входные данные
В первой строке входного файла INPUT.TXT содержится натуральное число n – количество сгибаний ленточки (n ≤
60), во второй строке – набор n символов из прописных английских букв «P» и «Z». Третья строка содержит в начале число
k – количество рассматриваемых рёбер (k ≤ 10), а далее их номера (числа от 1 до 2n-1).

Выходные данные
В выходной файл OUTPUT.TXT выведите k символов (прописные английские буквы «K» или «O») – типы
рассматриваемых ребер.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 K
1 PP
1 1
2 OK
2 ZZ
2 1 2

Задача №899
Баланс скобок
(Время: 1 сек. Память: 16 Мб Сложность: 42%)
https://acmp.ru/index.asp?main=alltasks 522/591
2/29/2020 Все задачи сайта

Дана последовательность, состоящая из открывающихся и закрывающихся круглых, квадратных и фигурных скобок.


Требуется написать программу, которая определит возможность добавления в эту последовательность цифр и знаков
арифметических действий таким образом, чтобы получилось правильное скобочное выражение.

Входные данные
Входной файл INPUT.TXT содержит не менее 1 и не более 10 строк. В каждой строке записана одна
последовательность скобок. Длина последовательности от 1 до 255 символов.

Выходные данные
В выходной файл OUTPUT.TXT выведите слитно символы 0 или 1. Их общее количество равно количеству введенных
строк. Для каждой строки выводится 0, если из нее может получиться правильное скобочное выражение, и 1 иначе.

Пример
№ INPUT.TXT OUTPUT.TXT
([{}]) 01
1
([{

Задача №900
Три грибника
(Время: 1 сек. Память: 16 Мб Сложность: 23%)
Три грибника Петя, Вася и Коля, возвращаясь из лесу домой, решили устроить привал, а заодно и перекусить. Как это
у нас принято, через некоторое время каждый начал хвастаться своими сегодняшними успехами, а потом делиться
найденными грибами со своими товарищами. Изначально у каждого из них было некоторое целое количество грибов.
Сначала Петя дал Васе и Коле по столько грибов, сколько у них уже было. Коля быстро понял, что так будет не по-братски,
и дал Васе и Пете по столько грибов, сколько у них стало. Вася не мог отстать от сотоварищей и тоже дал каждому из
друзей по столько грибов, сколько у них к этому моменту имелось. И тут друзья с удивлением обнаружили, что у всех
стало грибов поровну.
Известно, что все вместе они собрали N грибов. Сколько грибов было у каждого из них перед привалом?

Входные данные
Входной файл INPUT.TXT содержит натуральное число N (N ≤ 30000).

Выходные данные
В выходной файл OUTPUT.TXT выведите три числа через пробел - первоначальное количество грибов у Пети, Васи и
Коли соответственно. Предполагается, что ответ для данного N существует.

Пример
№ INPUT.TXT OUTPUT.TXT
1 120 65 20 35

Задача №901
Бессмыслица
(Время: 1 сек. Память: 16 Мб Сложность: 67%)
Никифор утверждал, что бессмыслица, повторенная много раз, становится истиной. Для доказательства этого он
применил следующую процедуру: переставил на клавиатуре своего компьютера клавиши в произвольном порядке и
набрал некоторый текст. Получилась, естественно, бессмыслица. Он и эту бессмыслицу набрал на том же компьютере с
той же подправленной клавиатурой. Новую бессмыслицу Никифор набрал еще раз и так далее – времени-то у него много.
Требуется написать программу, которая найдет максимальное количество шагов его процедуры, чтобы получился
исходный текст.

Входные данные
https://acmp.ru/index.asp?main=alltasks 523/591
2/29/2020 Все задачи сайта

Входной файл INPUT.TXT содержит одно целое число N (1 < N < 60) – количество клавиш на клавиатуре компьютера
Никифора.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число – максимальное количество шагов проделанной
Никифором процедуры.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 4 4
2 5 6

Задача №902
Ленточка - 2
(Время: 1 сек. Память: 16 Мб Сложность: 65%)
Расположенную вертикально прямоугольную бумажную ленточку с закрепленным нижним концом стали складывать
следующим образом:
- на первом шаге ее согнули пополам так, что верхняя половина легла на нижнюю либо спереди (P - сгибание) либо
сзади (Z - сгибание),
- на последующих n-1 шагах выполнили аналогичное действие с получающейся на предыдущем шаге согнутой
ленточкой, как с единым целым.
Затем ленточку развернули, приведя ее в исходное состояние. На ней остались сгибы - ребра от перегибов, причем
некоторые из ребер оказались направленными выпуклостью к нам (K - ребра), а некоторые - от нас (O - ребра). Ребра
пронумеровали сверху вниз числами от 1 до 2n-1.
Требуется написать программу, которая по заданной строке символов из прописных букв "O" и "K", где нахождение на
i-ом месте символа "O" или "K" определяет тип ребра на расправленной полоске, находит строку из прописных "P" и "Z",
определяющих последовательность типов сгибаний, посредством которых получена ленточка с этой последовательностью
ребер.

Входные данные
В первой строке входного файла INPUT.TXT записано число n – количество сгибаний (n не более 20), во второй строке
- строка из 2n-1 символов "O" или "K", определяющих типы ребер на расправленной ленточке.

Выходные данные
В выходной файл OUTPUT.TXT выведите строку из n символов "P" и "Z", задающую последовательность сгибаний.
Если такой последовательности сгибаний не существует, то вывести в файл "NO".

Примеры
№ INPUT.TXT OUTPUT.TXT
2 PZ
1
OOK
2 NO
2
OOO

Задача №903
Бисер
(Время: 1 сек. Память: 16 Мб Сложность: 2%)
В шкатулке хранится разноцветный бисер (или бусины). Все бусины имеют одинаковую форму, размер и вес. Бусины
могут быть одного из N различных цветов. В шкатулке много бусин каждого цвета.

https://acmp.ru/index.asp?main=alltasks 524/591
2/29/2020 Все задачи сайта

Требуется определить минимальное число бусин, которые можно не глядя вытащить из шкатулки так, чтобы среди них
гарантированно были две бусины одного цвета.

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

Входной файл INPUT.TXT содержит одно натуральное число N - количество цветов бусин (1 ≤ N ≤ 109).

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на поставленную задачу.

Пример
№ INPUT.TXT OUTPUT.TXT
1 3 4

Задача №904
Crimsonland
(Время: 1 сек. Память: 16 Мб Сложность: 56%)
Гриша третий день играет в Crimsonland, он «застрял» на самом сложном уровне: Panic Rush, так как ему постоянно не
хватает боеприпасов.
На уровне Panic Rush есть несколько особенностей. Персонаж Гриши вооружён плазменным дробовиком с углом
атаки α и неограниченной дальностью. Все монстры, попадающие в угол атаки, при выстреле тут же погибают. Дробовик
достаточно тяжёлый, переносить его нельзя, но можно быстро поворачивать вокруг своей оси на любой угол. Монстры
появляются все одновременно в произвольных точках карты, при этом их местоположение не совпадает с
местоположением персонажа.
Гриша нашел в интернете чит-код, и теперь он знает, где появятся монстры и какой будет угол атаки дробовика.
Помогите Грише подсчитать минимальное количество выстрелов, необходимых для отражения атаки.

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

Первая строка входного файла INPUT.TXT содержит два целых числа N и α, где N (1 ≤ N ≤ 104) — количество
монстров, а α (1 ≤ α ≤ 180) — угол атаки дробовика в градусах. В следующей строке указано местоположение персонажа
X0 и Y0, затем в N строках описаны координаты появления монстров Xi и Yi (все координаты — целые числа, не
превосходящие по модулю 104).

Выходные данные
В выходной файл OUTPUT.TXT выведите наименьшее количество выстрелов, необходимых для отражения атаки.

Пример
№ INPUT.TXT OUTPUT.TXT
4 90 2
1 1
2 2
1
0 2
0 0
2 0

Задача №905
Криптограмма
(Время: 1 сек. Память: 16 Мб Сложность: 31%)
На одной из лекций по информатике студент Петя узнал про новый шифр - простой замены. Он и на самом деле прост:
в тексте каждая буква алфавита заменяется некоторой другой буквой того же алфавита (может быть, той же самой).

https://acmp.ru/index.asp?main=alltasks 525/591
2/29/2020 Все задачи сайта

Петя написал письмо своему другу Васе. Письмо - это текст из нескольких строк, написанный на английском языке, с
использованием только строчных английских букв и пробелов. В произвольное место, отдельной строкой Петя вставил
ключевую фразу: "the quick brown fox jumps over the lazy dog", о которой они с Васей договорились заранее. После чего
зашифровал письмо. Известно, что пробелы в письме не шифруются. Получив такое письмо, Вася сумеет его
расшифровать и прочесть. Иногда Петя ошибается, и забывает вставить ключевую фразу. Увы, в этом случае прочесть
письмо невозможно.
Так как процесс расшифровки трудоемок, Вася просит написать программу, с помощью которой он сможет быстро
расшифровывать письмо от Пети.

Входные данные
Первая строка входного файла INPUT.TXT содержит целое число N – количество строк в письме (1 ≤ N ≤ 200). Далее
идет N строк письма (пустые строки отсутствуют, в каждой строке не более 80 символов).

Выходные данные
В выходной файл OUTPUT.TXT в случае присутствия в тексте ключевой фразы выведите N строк расшифрованного
сообщения. Если ключевой фразы нет, следует вывести «No solution» (без кавычек). Гарантируется, что есть не более
одного способа расшифровки текста из входных данных.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 now is the time for all good men to come to the aid of
vtz ud xnm xugm itr pyy jttk gmv xt otgm xt xnm puk ti the party
1 xnm fprxq the quick brown fox jumps over the lazy dog
xnm ceuob lrtzv ita hegfd tsmr xnm ypwq ktj programming contests are fun arent they
frtjrpgguvj otvxmdxd prm iev prmvx xnmq
3 No solution
vtz ud xnm xugm itr pyy jttk gmv xt otgm xt xnm puk ti
2 xnm fprxq
xnm fffff lrtzv iia wwwfd tsmr xnm ypwq ktj
frtjrpgguvj otvxmdxd prm iev prmvx xnmq

Задача №906
Функция - 2
(Время: 1 сек. Память: 16 Мб Сложность: 38%)
Описана рекурсивная функции с тремя параметрами F(a, b, c):

если a ≤ 0 или b ≤ 0 или c ≤ 0, то F(a, b, c) = 1


если a > 20 или b > 20 или c > 20, то F(a, b, c) = F(20, 20, 20)
если a < b и b < c, то F(a, b, c) = F(a, b, c-1) + F(a, b-1, c-1) - F(a, b-1, c)
иначе F(a, b, c) = F(a-1, b, c) + F(a-1, b-1, c) + F(a-1, b, c-1) - F(a-1, b-1, c-1)

Однако, если указанную функцию реализовать напрямую, то даже для небольших значений a, b и c (например, a = 15,
b = 15, c = 15), программа будет работать несколько часов! Необходимо реализовать эффективный алгоритм вычисления
функции F, который успеет найти любое ее значение менее чем за одну секунду!

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

Входной файл INPUT.TXT содержит три целых числа a, b, c - параметры функции F (-104 ≤ a,b,c ≤ 104).

Выходные данные
В выходной файл OUTPUT.TXT выведите значение функции F(a, b, c).

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1 1 2
2 2 2 2 4

https://acmp.ru/index.asp?main=alltasks 526/591
2/29/2020 Все задачи сайта
3 10 4 6 523
4 50 50 50 1048576

Задача №907
Мышка
(Время: 1 сек. Память: 16 Мб Сложность: 9%)
Однажды компьютерная мышка подумала, что стоит взять про запас еще один коврик. Чтобы никто не заметил
запасного коврика, мышка решила его спрятать под свой прямоугольный коврик. Пробравшись ночью на склад, мышка
обнаружила там только круглые коврики. Удастся ли мышке спрятать круглый коврик под прямоугольным ковриком?

Входные данные
Входной файл INPUT.TXT содержит три натуральных числа: W, H и R, где W и H - ширина и высота прямоугольного
коврика, а R – радиус запасного коврика. Все числа не превосходят значения 109.

Выходные данные
В выходной файл OUTPUT.TXT выведите «YES», если новый коврик можно спрятать под старым, и слово «NO», если
этого сделать нельзя.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 4 7 2 YES
2 4 7 3 NO

Задача №908
Число - 3
(Время: 2 сек. Память: 64 Мб Сложность: 35%)
Дано натуральное число N. Над ним можно произвести следующий набор операций:

вычитать единицу;
делить на три, если число кратно трем;
делить на два, если число четное.

После выполнения одной из операций к полученному результату также можно применить указанные операции, и
делается это до тех пор, пока результат не окажется равным 1.

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

Входной файл INPUT.TXT содержит натуральное число N (N ≤ 106).

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

Примеры
№ INPUT.TXT OUTPUT.TXT
1 5 3
2 1 0
3 10 3

Задача №909
Морской бой - 3

https://acmp.ru/index.asp?main=alltasks 527/591
2/29/2020 Все задачи сайта

(Время: 2 сек. Память: 32 Мб Сложность: 50%)


Всем известна увлекательная игра «Морской бой». Сейчас играть в морской бой можно не только с соседом по парте,
но и с компьютером. Игра c компьютером ведется на прямоугольном поле произвольных размеров N×M, где N - количество
строк, M - количество столбцов. Приближается чемпионат Мира по морскому бою. Планируется вести его трансляцию в
режиме реального времени: демонстрировать карту с кораблями и выводить статистику: количество целых, подбитых и
уничтоженных кораблей, находящихся на поле. Требуется написать программу для подсчета статистики.
Корабль на поле — это связанная фигура, стоящая из одной или нескольких рядом лежащих клеток, имеющих общую
сторону. Корабли могут быть абсолютно любых форм и размеров!

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

Первая строка входного файла INPUT.TXT содержит два целых числа N и M (1≤ N,M ≤ 103), разделённых пробелами -
размеры игрового поля. Далее идут N строк по M символов - описание игрового поля.
Английская буква 'X' обозначает подбитую клетку корабля, 'S' - не подбитую клетку корабля, '-' – свободное водное
пространство.

Выходные данные
В выходной файл OUTPUT.TXT выведите через пробел три числа:

количество целых кораблей


количество подбитых кораблей
количество уничтоженных кораблей

Пример
№ INPUT.TXT OUTPUT.TXT
3 8 2 1 1
---SSS--
1
XX--S-X-
X-S---S-

Задача №910
Последовательность - 4
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Бесконечная числовая последовательность задана с помощью формулы ее k-го члена:

Ak = k!*2k, где k = 1, 2, 3,...


Найти сумму N первых членов этой последовательности. Так как найденная сумма может быть очень большой,
выведите ее по модулю M.

Входные данные
Входной файл INPUT.TXT содержит два целых числа N - количество членов последовательности (1 ≤ N ≤ 104) и M -
модуль (2 ≤ M ≤ 109).

Выходные данные
В выходной файл OUTPUT.TXT выведите сумму N первых членов последовательности по модулю M.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 5 10 2
2 10000 2 0
3 100 1000000000 909349562

https://acmp.ru/index.asp?main=alltasks 528/591
2/29/2020 Все задачи сайта

Задача №911
Взвешивания
(Время: 1 сек. Память: 16 Мб Сложность: 40%)
Знаменитый химик Д. И. Менделеев, будучи директором Главной палаты мер и весов,
интересовался задачей составления набора гирь, чтобы с их помощью можно было взвесить
любой груз. Выяснилось, что если при взвешивании груза класть гири и на левую и на правую
чашки весов, то самым удобным является набор гирь в троичной системе.
Для взвешиваний используют чашечные весы и большой набор гирь 1, 3, 9, 27, 81 грамм и
т.д. (для любого k ≥ 0 есть только одна гиря весом 3k грамм).
На одну из чашек весов положили груз весом N грамм. Какие гири нужно положить на
левую и правую чашки, чтобы их уравновесить?

Входные данные
Входной файл INPUT.TXT содержит символ C и число N, разделенные пробелом. C - символ «L» или «R»,
обозначающий соответственно левую или правую чашку весов, на которой лежит груз. N – масса груза в граммах (1 ≤ N ≤
109).

Выходные данные
В выходной файл OUTPUT.TXT выведите две строки: первая строка должна начинаться с "L:", вторая – с "R:", после
чего через пробел должны идти в порядке возрастания массы веса гирь, которые нужно положить на левую и правую чашу
весов, соответственно.

Примеры
№ INPUT.TXT OUTPUT.TXT
L 5 L:1 3
1
R:9
R 3 L:3
2
R:

Задача №912
Одежда
(Время: 1 сек. Память: 16 Мб Сложность: 24%)
Несмотря на небольшую площадь, территорию Волшебной страны населяет множество народов, различных по
культуре и внешнему облику, но говорящих на одном языке. Каждый народ предпочитает носить одежду определённого
цвета, который отличается от цвета одежды других народов. Народы имеют разные традиции, порой традиции одних
народов противоречат традициям других народов. Поэтому жители каждого города следуют традициям того народа,
представителей которого проживает в этом городе больше всего. Если оказывается, что таких народов несколько, все
жители города следуют традициям самого миролюбивого народа с белым цветом одежды (белый цвет обозначается нулём).
Путешественник стоит на высоком холме недалеко от входа в город. С этого холма он видит цвет одежды каждого
жителя города. Путешественник торопится войти в город, ему важно быстро определить, традициям какого народа
следовать в этом городе.

Входные данные
Первая строка входного файла INPUT.TXT содержит число N - количество жителей города, которых видит
путешественник (1 ≤ N ≤ 104). Вторая строка теста содержит N натуральных чисел, разделенных пробелами. Каждое число
сi – это цвет одежды i-го жителя (1 ≤ ci ≤ 100).

Выходные данные
В выходной файл OUTPUT.TXT выведите единственное целое число – цвет одежды народа, традициям которого
следуют жители города.

Примеры
https://acmp.ru/index.asp?main=alltasks 529/591
2/29/2020 Все задачи сайта

№ INPUT.TXT OUTPUT.TXT
6 2
1
1 2 5 2 1 2
4 0
2
5 5 4 4

Задача №913
Автобус
(Время: 1 сек. Память: 16 Мб Сложность: 39%)
Василий работает водителем автобуса, и у него есть по-настоящему тяжелая работа: он перевозит пассажиров из
пункта A в пункт B. При этом он должен выполнять свою работу безопасно и как можно быстрее. Кроме того, каждый
водитель должен повиноваться дорожным правилам и нормам, иначе, он будет оштрафован местной полицией.
Маршрут Василия состоит из N отрезков, которые он проезжает последовательно, начиная от 1-го и завершая N-м
отрезком. У каждого отрезка задана длина в километрах Di.
Конечно, на маршруте Василия есть ограничения скорости. У каждого отрезка есть свое собственное ограничение
скорости Li км/ч. В случае превышения скорости на i-м отрезке, водитель автобуса будет немедленно остановлен
полицейским, который потратит Hi часов на заполнение соответствующих бумаг. Водитель не может быть остановлен
более одного раза на каждом отрезке.
Автобус едет вдоль маршрута с постоянной скоростью S, которую Василий выбирает в начале маршрута (в пункте A).
Автобус не может превышать максимальную конструктивную скорость, которая определена значением M км/ч.
Пожалуйста, помогите Василию выбирать правильную скорость, чтобы достигнуть конечного пункта B как можно
быстрее.

Входные данные
Первая строка входного файла INPUT.TXT содержит два числа, разделенные пробелом: количество отрезков N (N ≤
1000) в маршруте Василия и максимально возможную конструктивную скорость автобуса M (M ≤ 105). Далее идут N
строк, в каждой из которых определены разделенные пробелом значения Di, Li и Hi, описывающие i-й отрезок пути (Di, Hi
≤ 1000, Li ≤ 105). Все числа, определенные во входных данных натуральные.

Выходные данные
В выходной файл OUTPUT.TXT выведите оптимальную скорость автобуса. В случае неоднозначного ответа следует
выбрать наибольшее значение.

Пример
№ INPUT.TXT OUTPUT.TXT
1 100 100
1
1000 100 10

Пояснение к примеру
Здесь у нас простой случай, когда максимальная скорость 100 км/ч является оптимальной для единственного отрезка
пути. Таким образом, Василий может выбрать эту скорость и закончить свой маршрут через 10 часов. Поэтому ответ: 100.

Задача №914
Пересечение
(Время: 1 сек. Память: 16 Мб Сложность: 79%)
В трехмерном пространстве заданы два прямоугольных параллелепипеда. Необходимо определить: пересекаются ли
они?

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

https://acmp.ru/index.asp?main=alltasks 530/591
2/29/2020 Все задачи сайта

Входной файл INPUT.TXT содержит два блока по четыре строки, содержащие описание первого и второго
параллелепипеда. В первой строке блока находятся координаты одной из вершин параллелепипеда x, y и z, разделенные
пробелом. В остальных трех строках находится описание трех векторов (ребер) v1, v2, v3 параллелепипеда прилегающих к
указанной вершине. Все координаты – целые числа, не превышающие 104 по абсолютной величине.

Выходные данные
В выходной файл OUTPUT.TXT выведите «YES», если параллелепипеды пересекаются и «NO» в противном случае.

Пример
№ INPUT.TXT OUTPUT.TXT
30 50 0 YES
50 50 0
-30 30 0
0 0 100
1
0 40 70
0 20 20
0 20 -20
1 0 0

Задача №915
Кубик - 2
(Время: 1 сек. Память: 16 Мб Сложность: 54%)
В последнее время настольные игры стали очень популярны. В нашу жизнь
возвращаются как некогда забытые, так и новые увлекательные игры. К вам попала
совершенно новая, уникальная настольная игра. Для игры нужен игральный кубик
(его развертка приведена на рисунке) и прямоугольное игровое поле, разбитое на
клетки. В каждой клетке поля написано целое число.
Играть могут несколько человек по следующим правилам:

1. Первым ходом игрок ставит кубик в левую верхнюю клетку поля на любую
грань.
2. Каждым следующим ходом игрок переходит на соседнюю справа или снизу
клетку, перекатывая кубик на любую из 4 соседних граней.
3. За каждый ход игрок получает K*A очков, где A - число, записанное в текущей клетке поля, K - цифра на той грани
кубика, которой он стоит на игровом поле.
4. Игрок ходит, пока не окажется в нижней правой клетке поля. Тогда очки за все его ходы суммируются.
5. Когда один игрок закончил ходить, начинает ходить второй игрок и т.д.
6. Победитель - игрок, набравший больше всех очков.

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

Входные данные
Первая строка входного файла INPUT.TXT содержит разделенные пробелом числа N и M - размеры игрового поля (1 ≤
N×M ≤ 105). Далее идет N строк по M чисел, разделенных пробелами - числа, записанные в клетках игрового поля. Все
числа по модулю не превышают 103.

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

Пример
№ INPUT.TXT OUTPUT.TXT
1 3 3 78

https://acmp.ru/index.asp?main=alltasks 531/591
2/29/2020 Все задачи сайта
1 -2 3
-4 5 -6
7 -8 9

Пояснение к примеру
Первоначально кубик следует установить на 6, далее вниз на 2, потом вниз на 6, вправо на 2 вправо на 6. Итого 6*1 +
2*(-4) + 6*7 + 2*(-8) + 6*9 = 78

Задача №916
Экономия
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Представь, что ты - капитан команды, которая только что выиграла мировой финал ACM ICPC, и теперь тебе
предстоит отпраздновать свою победу со своими друзьями, которых у тебя ровно K-1. Для этого необходимо закупить N
бутылок любимого напитка (остается только догадываться какого) в ближайшем магазине. Стоимость i-й бутылки
составляет Ci рублей. К сожалению, продавец не любит, когда его клиенты покупают слишком много бутылок, поэтому он
продаёт только по одной бутылке за раз, а также изменяет цену бутылки для клиента, который ранее у него уже делал
покупки. Точнее, если клиент уже купил X бутылок, то он должен заплатить (X+1)*Ci рублей, чтобы купить бутылку номер
i.
Необходимо определить минимально возможную стоимость приобретения N бутылок с учетом того, что в процессе
покупки могут участвовать не более K человек (только ты и твои друзья).

Входные данные
Первая строка входного файла INPUT.TXT содержит два числа N и K (N, K ≤ 100), соответственно во второй строке
определены значения C1, C2, ..., CN ( Ci ≤ 106). Все числа во входных данных натуральные.

Выходные данные
В выходной файл OUTPUT.TXT выведите оптимальную стоимость покупки.

Пример
№ INPUT.TXT OUTPUT.TXT
3 3 13
1
2 5 6

Задача №917
Забор - 3
(Время: 1 сек. Память: 16 Мб Сложность: 72%)
Однажды было принято решение о строительстве очередного небоскреба. Для ограждения территории были
привезены прямоугольные бетонные блоки. Все блоки имеют одинаковую ширину, но могут быть различными по длине.
Начальник стройки решил, во что бы то ни стало отгородить участок как можно большей площади, используя все
имеющиеся в наличии блоки. Блоки должны соприкасаться друг с другом углами.

Входные данные
Первая строка входного файла INPUT.TXT содержит целое число N (3 ≤ N ≤ 100) – количество блоков. Во второй
строке определены N целых чисел Li – длины блоков (1 ≤ Li ≤ 100). Гарантируется, что с использованием данных блоков
возможно огородить ненулевую площадь.

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

В выходной файл OUTPUT.TXT выведите с точностью, не худшей чем 10-2, максимально возможную площадь
территории, которую можно отгородить при помощи данного набора блоков. Шириной блоков можно пренебречь.

Пример
https://acmp.ru/index.asp?main=alltasks 532/591
2/29/2020 Все задачи сайта

№ INPUT.TXT OUTPUT.TXT
3 6.00
1
3 4 5

Задача №918
График
(Время: 1 сек. Память: 16 Мб Сложность: 58%)
Антон работает курьером. У него много заказов. На выполнение одного заказа у Антона уходит ровно один день. Для
каждого заказа определена стоимость и срок его выполнения (количество дней, оставшихся до запланированного дня
выполнения заказа). Однажды проснувшись, Антон изучил свой график и понял, что возможно он не сможет выполнить
все заказы, и его могут уволить. Поэтому он решил выполнить лишь некоторые из них так, чтобы при этом получить
максимальный доход.

Входные данные
Первая строка входного файла INPUT.TXT содержит целое число N (1 ≤ N ≤ 1000) – количество заказов. Затем в N
строках описаны данные каждого заказа Ti и Ci (натуральные числа, не превосходящие 105). Где Ti – последний день, в
который еще можно выполнить заказ, Ci – вознаграждение за выполнение заказа.

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

Примеры
№ INPUT.TXT OUTPUT.TXT
2 22
1 1 10
2 12
3 44
1 10
2
1 20
3 24

Задача №919
Отель
(Время: 1 сек. Память: 16 Мб Сложность: 65%)
После строительства пятизвездочного отеля было принято решение о реставрации
главной площади. Площадь имеет прямоугольную форму, поэтому для реставрации была
закуплена прямоугольная плитка. Однако, через некоторое время стало понятно, что в
суматохе не подумали о том, можно ли плиткой заданного размера полностью замостить
площадь без пробелов. Дело в том, что плитка произведена из очень хрупкого камня, поэтому
обрезать плитку нельзя. Помогите строителям понять, можно ли замостить площадь
прямоугольной плиткой заданного размера.
Например, на рисунке показано, как площадь размером 9х6, может быть замощена плиткой 2х3.

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

Входной файл INPUT.TXT содержит четыре числа tw, th, w, h (1 ≤ tw, th, w, h ≤ 109). Где tw, th – длина и ширина плитки,
а w, h – длина и ширина площади.

Выходные данные
В выходной файл OUTPUT.TXT выведите «YES», если можно замостить площадь плиткой и «NO» в противном
случае.

Примеры
https://acmp.ru/index.asp?main=alltasks 533/591
2/29/2020 Все задачи сайта

№ INPUT.TXT OUTPUT.TXT
1 2 3 9 6 YES
2 2 3 8 6 YES
3 2 3 6 8 YES
4 2 3 5 7 NO

Задача №920
Игуана
(Время: 2 сек. Память: 16 Мб Сложность: 62%)
В парке флоры и фауны затеяли масштабное переустройство. Организаторы запланировали расширение площади
парка, увеличение количества экзотических животных и строительство новых вольеров. После утверждения плана
строители и зоологи принялись за работу.
Зоологи со своей задачей справились: привезли новых жирафов, долгожданных слонов, игуан c карибских островов и
многих других животных и птиц. А вот строители не успели достроить новые вольеры, поэтому привезенных животных
было решено временно разместить в клетках.
Однако и эта задача оказалось непростой, так как клеток может не хватить для привезенных животных. А в одну
клетку можно поместить только совместимых животных. Зоологи составили таблицу совместимости животных,
представив ее в виде матрицы A={aij} размером N×N. Если животные с номерами i и j совместимы, то aij=0, а если - нет, то
aij=1. Необходимо определить минимальное количество клеток для безопасного размещения животных, когда во всех
клетках находятся только совместимые между собой животные. При этом в клетке может находиться одно, два и более
животных.

Входные данные
Первая строка входного файла INPUT.TXT содержит число N - количество животных (1 ≤ N ≤ 18). Далее идет N строк
по N чисел в каждой – матрица совместимости животных.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число – минимальное количество клеток, необходимое для
безопасного размещения животных.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 5
0 1 1 1 1
1 0 1 1 1
1
1 1 0 1 1
1 1 1 0 1
1 1 1 1 0
1 1
2
0

Задача №921
Турнир - 2
(Время: 1 сек. Память: 16 Мб Сложность: 60%)
Word-ландия – новая страна, образованная объединением двух древних государств под воздействием внешних угроз.
Эти государства теперь являются провинциями Word-ландии, но референдумы по их наименованию ещё не прошли,
поэтому они называются Старшая и Младшая Byte-ландии.
Для сплочения населения было решено провести чемпионат между провинциями. В Старшей Byte-ландии
национальной игрой являются шахматы, а в Младшей – волейбол. Поэтому чемпионат решили провести по шахболу.
Чтобы не затягивать чемпионат, объединённое правительство решило провести ровно К матчей. Каждый матч – это либо
партия в шахматы, либо волейбольный матч. Победитель в матче получает одно очко в зачёт чемпионата, в случае ничьей в
шахматной партии обе провинции получают по 0.5 очка.

https://acmp.ru/index.asp?main=alltasks 534/591
2/29/2020 Все задачи сайта

Правительство заинтересовано в том, чтобы в чемпионате «победила дружба», то есть провинции набрали одинаковое
количество очков. Поэтому высокие чины обратились к вам с просьбой определения минимального количества шахматных
партий в чемпионате, чтобы разность математических ожиданий набранных провинциями очков была минимальна.
За долгую историю Мировых чемпионатов известно, что Старшая Byte-ландия выигрывает в шахматы у Младшей с
вероятностью p1 и проигрывает в волейбол с вероятностью p2. Ничья в шахматах достигалась с вероятностью p3.
Примечание: Математическое ожидание - среднее значение случайной величины в теории вероятностей. Для дискретной
случайной величины Х с законом распределения P(X = xi) = pi математическим ожиданием называется сумма парных
произведений всех возможных значений случайной величины на соответствующие им вероятности, т.е.

Входные данные
Входной файл INPUT.TXT содержит четыре целых числа: К (1 < K ≤ 1016), p1, p2, p3 (0 ≤ p1, p2, p3 ≤ 100) – количества
матчей и вероятностей в процентах.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно натуральное число – минимальное количество шахматных партий
(учтите, что чемпионат не должен превратиться в шахматный турнир).

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 50 50 50 1
2 4 0 0 100 3

Задача №922
Незнайка
(Время: 1 сек. Память: 16 Мб Сложность: 27%)
Незнайка и его друзья собрались в космическое путешествие. Они уже и новый звездолет построили. Хоть он и
построен был с учетом новых технологий, был у него один большой недостаток. После T1 часов полета, аккумуляторы
требовали обязательной подзарядки от солнечной батареи в течении T2 часов, а конструкция звездолета такова, что его
двигатель на время подзарядки останавливается и звездолет начинает двигаться в обратную сторону. Известно, что за T1
часов полета звездолет улетает на S1 км, а за T2 часов разрядки возвращается на S2 км.
Требуется определить: сколько потребуется времени для полета Незнайки и его друзей на различные планеты, если
известно расстояние S до планет.

Входные данные
Входной файл INPUT.TXT содержит пять натуральных чисел, разделенных пробелами: T1, T2, S1, S2, S. Все числа не
превышают 107.

Выходные данные
В выходной файл OUTPUT.TXT выведите время в часах (с точностью до двух знаков после запятой), за которое
звездолет долетит до планеты. Если добраться до планеты не получится, то следует вывести «NO».

Примеры
№ INPUT.TXT OUTPUT.TXT
1 5 3 5 3 4 4.00
2 5 3 5 3 6 12.00
https://acmp.ru/index.asp?main=alltasks 535/591
2/29/2020 Все задачи сайта
3 5 1 3 3 6 NO
4 10 1 100 20 500 65.00

Задача №923
Легион
(Время: 1 сек. Память: 16 Мб Сложность: 44%)
Легион – основная организационная единица в армии Древнего Рима. В разное время легионы имели разную
численность и различное построение. Самым простым построением была шеренга. Чтобы из N солдат легиона,
выстроенных в шеренгу, отобрать троих в разведку, выполнялись следующие операции: если солдат в шеренге больше
трех, то шеренга разбивалась на две, одна из которых состоит из солдат, стоящих на четных позициях, а вторая – из
стоящих на нечетных позициях. Для всех полученных шеренг эта процедура повторялась до тех пор, пока в каждой из них
не останется не более трех солдат. Если солдат осталось трое, то данную группу можно послать в разведку.

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

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

Входной файл INPUT.TXT содержит единственное целое число N - количество солдат в шеренге (0 ≤ N ≤ 1018).

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

Примеры
№ INPUT.TXT OUTPUT.TXT
1 10 2
2 4 0

Задача №924
Симпатичный узор
(Время: 1 сек. Память: 16 Мб Сложность: 20%)
На днях Иван у себя в прихожей выложил кафель, состоящий из квадратных черных и белых плиток. Прихожая Ивана
имеет квадратную форму 4х4, вмещающую 16 плиток. Теперь Иван переживает, что узор из плиток, который у него
получился, может быть не симпатичным. С точки зрения дизайна симпатичным узором считается тот, который не содержит
в себе квадрата 2х2, состоящего из плиток одного цвета.
Примеры возможных узоров:

https://acmp.ru/index.asp?main=alltasks 536/591
2/29/2020 Все задачи сайта

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

Входные данные
Входной файл INPUT.TXT содержит 4 строки по 4 символа «W» или «B» в каждой, описывающие узор из плиток.
Символ «W» обозначает плитку белого цвета, а «B» - черного.

Выходные данные
В выходной файл OUTPUT.TXT выведите «Yes», если узор является симпатичным и «No» в противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
BWBW Yes
BBWB
1
WWBB
BWWW
BBWB No
BBWB
2
WWBW
BBWB

Задача №925
Кастинг
(Время: 1 сек. Память: 16 Мб Сложность: 19%)
В театре работает n актеров. Известно, что среди них a – высоких, b – голубоглазых и с – блондинов. Для главной роли
в новом спектакле режиссеру требуется только один высокий голубоглазый блондин. Чтобы спланировать свое время для
беседы с каждым таким артистом из труппы театра, режиссеру необходимо узнать, какое максимальное или какое
минимальное количество артистов из работающих в театре подходит для этой роли.
Требуется написать программу, которая по заданным числам n, a, b и с определяет минимальное или максимальное
количество актеров, с которыми режиссер должен переговорить.

Входные данные
Первая строка входного файла INPUT.TXT содержит одно число, которое задает: минимальное или максимальное
количество актеров необходимо найти. Это число может принимать следующие значения:
1, если в данном тесте требуется определить минимальное количество актеров;
2, если в данном тесте требуется определить максимальное количество актеров.
Вторая строка входного файла содержит разделенные пробелами четыре целых числа: n, a, b, с (1 ≤ n ≤ 10 000, 0 ≤ a ≤
n, 0 ≤ b ≤ n, 0 ≤ c ≤ n).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – минимальное или максимальное (в зависимости от входных
данных) количество актеров, которые могут претендовать на главную роль в новом спектакле.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 3
1
5 3 4 5
1 2
2
5 3 4 5

Пояснения к примерам
https://acmp.ru/index.asp?main=alltasks 537/591
2/29/2020 Все задачи сайта

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

Задача №926
Города - 2
(Время: 1 сек. Память: 16 Мб Сложность: 23%)
Юный программист решил придумать собственную игру. Игра происходит на поле размером N × N клеток, в
некоторых клетках которого расположены города (каждый город занимает одну клетку; в каждой клетке может
располагаться не более одного города). Всего должно быть чётное количество городов.
Изначально про каждую клетку игрового поля известно, расположен ли в ней город или нет. Чтобы начать игру,
необходимо разделить игровое поле на два государства так, чтобы в каждом государстве было поровну клеток-городов.
Граница между государствами должна проходить по границам клеток таким образом, чтобы из любой клетки каждого
государства существовал путь по клеткам этого же государства в любую другую его клетку (из клетки можно перейти в
соседнюю, если они имеют общую сторону). Каждая клетка игрового поля должна принадлежать только одному из двух
государств, при этом государства не обязаны состоять из одинакового количества клеток.
Требуется написать программу, которая с учетом сказанного разделит клетки заданного игрового поля между двумя
государствами.

Входные данные
Первая строка входного файла INPUT.TXT содержит одно натуральное число N, задающее размер игрового поля (N ≤
50).
Последующие N строк содержат по N заглавных английских букв (без пробелов), кодирующих соответствующие
клетки игрового поля: 'C' обозначает клетку, занятую городом, 'D' – пустую клетку. Гарантируется, что на поле есть хотя бы
два города и всего их четное число.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать N строк по N цифр (без пробелов) в каждой, кодирующих
соответствующие клетки. Цифра 1 обозначает, что данная клетка принадлежит первому государству, цифра 2 – данная
клетка принадлежит второму государству. Если решений несколько, необходимо вывести любое из них.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 222
DDD 212
1
DDC 211
DDC
5 11111
DDDDD 12221
CDCDC 12221
2
DCCDC 11111
DDDDD 11111
DDDDD

Задача №927
A+B=C
(Время: 2 сек. Память: 16 Мб Сложность: 47%)
Часто для пробного тура на различных олимпиадах по информатике предлагается задача «A + B», в которой по
заданным целым числам A и B требуется найти их сумму.
При проведении городской олимпиады по информатике председатель жюри решил сам подготовить тесты для такой
задачи. Для этого он использовал свою оригинальную методику, которая заключалась в следующем: сначала готовятся

https://acmp.ru/index.asp?main=alltasks 538/591
2/29/2020 Все задачи сайта

предполагаемые правильные ответы, а затем подбираются входные данные, соответствующие этим ответам.
Пусть председатель жюри выбрал число C, запись которого состоит из n десятичных цифр и не начинается с нуля.
Теперь он хочет подобрать такие целые положительные числа A и B, чтобы их сумма была равна C, и запись каждого из
них также состояла из n десятичных цифр и не начиналась с нуля. В дополнение к этому председатель жюри старается
подобрать такие числа A и B, чтобы каждое из них было красивым. Красивым в его понимании является число, запись
которого не содержит двух одинаковых подряд идущих цифр. Например, число 1272 считается красивым, а число 1227 —
нет.
Требуется написать программу, которая для заданного натурального числа C вычисляет количество пар красивых
положительных чисел A и B, сумма которых равна C. Поскольку количество пар красивых чисел может быть большим,
необходимо вывести остаток от деления этого количества на число 109+7.

Входные данные
Входной файл INPUT.TXT содержит одно целое положительное число C. Число C не начинается с нуля. Количество
цифр в записи числа С не превышает 10 000.

Выходные данные
В выходной файл OUTPUT.TXT должен содержать одно целое число — остаток от деления количества искомых пар
красивых чисел A и B на число 109+7.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 22 2
2 200 0
3 1000 0
4 239 16

Пояснения к примерам
Число 22 можно представить в виде суммы двузначных чисел тремя способами: 10 + 12, 11 + 11, 12 + 10. Способ 11 +
11 не подходит, поскольку число 11 не является красивым. Следовательно, ответ для числа 22 равен 2.
Число 200 можно представить в виде суммы трехзначных чисел единственным способом: 100 + 100. Этот способ не
подходит, поэтому ответ для числа 200 равен 0.
Число 1000 нельзя представить в виде суммы четырехзначных чисел, поэтому ответ для числа 1000 аналогично равен
0.

Задача №928
Березовая аллея
(Время: 10 сек. Память: 128 Мб Сложность: 70%)
На краю деревни растет старая березовая аллея. Аллея имеет форму прямой полосы шириной W метров. Вдоль левой
стороны аллеи растет N берез, а вдоль правой — M берез, при этом i-я береза с левой стороны аллеи находится на
расстоянии ai метров от начала аллеи, а j-я береза с правой стороны — на расстоянии bj метров от начала аллеи.

https://acmp.ru/index.asp?main=alltasks 539/591
2/29/2020 Все задачи сайта

Отдыхая в деревне прошедшим летом, один юный информатик обнаружил, что кору берез стали грызть зайцы. Чтобы
защитить деревья от зайцев, мальчик решил окружить березы красной лентой (зайцы не любят красный цвет и не станут
заходить на огражденную лентой территорию). К сожалению, в его распоряжении оказалась только лента длиной L метров,
которую, к тому же, нельзя было разрезать. Единственное, что можно было делать в этом случае — окружить этой лентой
как можно больше берез. При этом, чтобы сохранить аллею, необходимо окружить на каждой стороне аллеи хотя бы одну
березу.
Требуется написать программу, которая по заданной длине ленты, ширине аллеи и положению берез на ней определяет
максимальное количество берез, которое можно окружить этой лентой. Считается, что березы представляются точками,
толщиной берез и шириной ленты следует пренебречь.

Входные данные
Первая строка входного файла INPUT.TXT содержит два разделенных пробелом целых числа: длину ленты L и
ширину аллеи W (1 ≤ L ≤ 2×105, 1 ≤ W ≤ 104).
Вторая и третья строки описывают березы вдоль левой стороны аллеи. Вторая строка содержит число N — количество
берез (1 ≤ N ≤ 2000), а третья строка содержит N различных целых чисел a1, a2, …, aN, заданных по возрастанию (0 ≤ ai ≤
105).
Четвертая и пятая строки описывают березы вдоль правой стороны аллеи. Четвертая строка содержит число M —
количество берез (1 ≤ M ≤ 2000), а пятая строка содержит M различных целых чисел b1, b2, …, bM, заданных по
возрастанию (0 ≤ bi ≤ 105).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно целое число: максимальное количество берез, которое можно
оградить заданной лентой. Гарантируется, что если максимальное число берез, которое можно оградить лентой длины L,
равно X, то нет способа оградить (X + 1) березу лентой длины (L + 10-5).

Примеры
№ INPUT.TXT OUTPUT.TXT
18 4 5
3
1 0 3 6
4
0 3 6 10
5 3 0
1
2 0
1
0

Пояснения к примерам
В первом примере можно, например, оградить березы способом, указанным на рисунке ниже.

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

Задача №929
Игральные кубики
(Время: 1 сек. Память: 16 Мб Сложность: 15%)

https://acmp.ru/index.asp?main=alltasks 540/591
2/29/2020 Все задачи сайта

Юный математик Матвей интересуется теорией вероятностей, и по этой причине у него всегда есть с собой несколько
стандартных шестигранных игральных кубиков. Стандартный шестигранный кубик имеет три противолежащих пары
граней, которые размечены таким образом, что напротив грани с числом 1 находится грань с числом 6, напротив грани с
числом 2 — грань с числом 5 и напротив грани с числом 3 — грань с числом 4.
Анализируя различные игры с шестигранными кубиками, Матвей придумал новую игру. В эту игру играют два игрока,
и проходит она следующим образом: первый игрок бросает один или несколько стандартных кубиков (количество кубиков
он определяет сам). После этого первому игроку начисляется количество очков, равное сумме чисел, оказавшихся на
верхних гранях всех кубиков, а второму игроку — сумма чисел, оказавшихся на нижних гранях этих кубиков. Побеждает
тот, кто набрал больше очков.
Например, если был брошен один кубик, и на верхней его грани выпало число два, то первый игрок получает два очка,
а второй — пять. В свою очередь, если было брошено два кубика и на их верхних гранях выпало по единице, то первый
игрок получает также два очка, а второй игрок – двенадцать очков, так как на нижних гранях этих кубиков оказались
шестерки.
Матвей рассказал об этой игре своему другу, юному информатику Фоме, и они начали играть в неё через Интернет.
Поскольку Фома не видит результат броска и не знает, сколько кубиков бросает Матвей как первый игрок, то о набранных
каждым игроком очках он узнает только от Матвея. Чтобы проверить достоверность этой информации, Фома решил
узнать, какое минимальное и максимальное количество очков мог получить он, как второй игрок, если известно, сколько
очков набрал Матвей.
Требуется написать программу, которая по количеству очков, набранных первым игроком после броска, определяет
наименьшее и наибольшее количество очков, которые может получить второй игрок за этот бросок.

Входные данные
Входной файл INPUT.TXT содержит одно натуральное число n — количество очков, которые получил первый игрок (n
≤ 1010).

Выходные данные
В выходной файл OUTPUT.TXT выведите два разделенных пробелом целых числа: минимальное и максимальное
количество очков соответственно, которые мог набрать второй игрок при таком броске кубиков.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 5 12
2 36 6 216

Задача №930
Имена
(Время: 1 сек. Память: 16 Мб Сложность: 38%)
На далекой планете Тау Кита есть непонятные нам обычаи. Например, таукитяне очень необычно для землян
выбирают имена своим детям. Родители так выбирают имя ребенку, чтобы оно могло быть получено как удалением
некоторого набора букв из имени отца, так и удалением некоторого набора букв из имени матери. Например, если отца
зовут «abacaba», а мать — «bbccaa», то их ребенок может носить имена «a», «bba», «bcaa», но не может носить имена
«aaa», «ab» или «bbc». Возможно, что имя ребенка совпадает с именем отца и/или матери, если оно может быть получено
из имени другого родителя удалением нескольких (возможно, ни одной) букв.
Пусть отец по имени X и мать по имени Y выбирают имя своему новорожденному ребенку. Так как в таукитянских
школах учеников часто вызывают к доске в лексикографическом порядке имен учеников, то есть в порядке следования
имен в словаре, то они хотят выбрать своему ребенку такое имя, чтобы оно лексикографически следовало как можно
позже.
Формально, строка S лексикографически больше строки T, если выполняется одно из двух условий:
• строка T получается из S удалением одной или более букв с конца строки S;
• первые (i - 1) символов строк T и S не различаются, а буква в i-й позиции строки T следует в алфавите раньше буквы
в i-й позиции строки S.

https://acmp.ru/index.asp?main=alltasks 541/591
2/29/2020 Все задачи сайта

Требуется написать программу, которая по именам отца и матери находит лексикографически наибольшее имя для их
ребенка.

Входные данные
Первая строка входного файла INPUT.TXT содержит имя отца X. Вторая строка входного файла содержит имя матери
Y. Каждое имя состоит из строчных букв английского алфавита, включает хотя бы одну букву и имеет длину не более 105
букв.

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

Примеры
№ INPUT.TXT OUTPUT.TXT
abcabca ca
1
abcda
ccba ccba
2
accbbaa

Пояснения к примеру
В первом примере имя ребенка не может начинаться с буквы большей с, так как имя отца не содержит таких букв.
Буква с содержится в обоих именах, следовательно, имя ребенка может начинаться с этой буквы. Единственная буква,
которая может идти следом за буквой с в имени ребенка — это буква a.

Задача №931
Две окружности - 2
(Время: 2 сек. Память: 16 Мб Сложность: 72%)
Юный футболист Митя обнаружил на школьном футбольном поле две различные окружности, нарисованные едва
заметной белой краской. Вспомнив истории о загадочных кругах на полях, он отметил эти окружности с помощью
небольших камушков. Митя разложил на поле n камушков так, чтобы каждый из них находился на одной из окружностей
или даже на их пересечении, если эти окружности пересекаются. Получилось так, что на каждой окружности размещался
хотя бы один камушек. Обладая отличным глазомером, Митя расположил камушки на окружностях абсолютно точно, без
какой-либо погрешности.
На следующий день пошел дождь, краска стерлась, и нарисованные окружности исчезли, но все камушки остались на
своих местах. Теперь Мите очень нужно найти доказательство необычного явления, свидетелем которого он был, то есть,
восстановить окружности.
Требуется написать программу, которая по координатам камушков на поле находит вариант размещения их на двух
несовпадающих окружностях.

Входные данные
Первая строка входного файла INPUT.TXT содержит целое число n — количество размещенных Митей камушков на
поле (2 ≤ n ≤ 2000). Последующие n строк содержат целочисленные координаты камушков (xi, yi) — в каждой строке по
одной паре координат, разделенных пробелом (−106 ≤ xi, yi ≤ 106).

Никакие два камушка не размещаются в одной точке. Гарантируется, что ответ для заданного набора камушков
существует.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать две строки. Первая строка должна содержать последовательность
номеров всех камушков, которые принадлежат первой окружности, вторая строка — последовательность номеров всех
камушков, которые принадлежат второй окружности. Считается, что камушки пронумерованы от 1 до n в порядке их
следования во входных данных.

https://acmp.ru/index.asp?main=alltasks 542/591
2/29/2020 Все задачи сайта

Каждый камушек должен встречаться хотя бы в одной из двух последовательностей. Если камушек встречается в
обеих последовательностях, то это обозначает, что он находится на пересечении окружностей.
Нумерация окружностей не имеет значения, то есть выводить две последовательности можно в любом порядке. Числа
в последовательностях можно также выводить в произвольном порядке. Каждая из последовательностей должна содержать
не менее одного числа. Все числа в строках должны быть разделены пробелами.
Если вариантов расположения окружностей несколько, можно выбрать любой из них.

Примеры
№ INPUT.TXT OUTPUT.TXT
7 6 1 2 3
1 -1 4 7 5 6
0 0
1 1
1
3 1
3 -1
2 0
4 0
5 1 2 3 4
-1000000 0 1 5
0 1000000
2
1000000 0
0 -1000000
0 0

Пояснения к примерам
В первом примере одна из искомых окружностей имеет центр в точке с координатами (1, 0), а вторая — в точке с
координатами (3, 0). Обе окружности имеют радиус равный 1.

Во втором примере центр первой окружности совпадает с началом координат, а радиус равен 106. Вторая окружность
— любая, проходящая через точки (−106, 0) и (0, 0).
В обоих примерах возможны и другие правильные ответы.

Задача №932
Столицы
(Время: 5 сек. Память: 256 Мб Сложность: 92%)
В стране Триландии близятся выборы новых столиц. Столицы в Триландии необычные, поскольку ими являются
одновременно сразу три различных города. Такая идея размещения столиц основана на исследованиях эффективности
управления страной, выполненных ведущими экономистами Триландии.
Всего в Триландии n городов, из которых некоторые пары городов соединены дорогами и по каждой из них можно
проехать в обе стороны. Время проезда по каждой дороге в одну сторону равно одному часу. При этом все города
соединены дорогами таким образом, что из каждого города можно добраться в любой другой, причем это можно сделать
единственным способом, если по каждой дороге проезжать не более одного раза и только в одну сторону.
Как показали результаты проведенных триландскими экономистами исследований, управление страной будет
наиболее эффективным, если три столицы будут выбраны так, что время проезда по кратчайшему пути между каждой
парой столиц составит ровно d часов. Перед проведением выборов необходимо знать, сколько существует различных троек
городов, удовлетворяющих описанным выше свойствам. Две тройки городов считаются различными, если в первой тройке
есть хотя бы один город, которого нет во второй тройке, и наоборот.
Требуется написать программу, которая по количеству городов в Триландии и описанию дорог находит количество
троек городов, которые могут быть столицами.

Входные данные
Первая строка входного файла INPUT.TXT содержит два разделенных пробелом целых числа: количество городов в
Триландии n и требуемое время в пути между столицами d (3 ≤ n ≤ 105, 1 ≤ d < n). Каждая из последующих (n – 1) строк

https://acmp.ru/index.asp?main=alltasks 543/591
2/29/2020 Все задачи сайта

содержит описание одной дороги: пару разделенных пробелом различных целых чисел ai и bi — номера городов, которые
соединены двусторонней дорогой (1 ≤ ai ≤ n, 1 ≤ bi ≤ n, ai ≠ bi). Каждая пара городов соединена не более чем одной
дорогой.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно целое число — количество подходящих троек городов, которые
могут быть выбраны столицами. В случае, если подходящих троек городов не окажется, выходной файл должен содержать
ноль.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 2 1
1 2
1
1 3
1 4
7 2 5
1 2
1 3
2 1 4
5 1
5 6
5 7

Пояснения к примерам
В первом примере существует единственный способ выбрать три столицы: города с номерами 2, 3 и 4. Рисунок,
соответствующий первому примеру, приведен ниже.

Во втором примере существует четыре варианта выбора трёх столиц из четверки городов: 2, 3, 4 и 5. Можно также
выбрать столицами города с номерами 1, 6 и 7. Рисунок, соответствующий второму примеру, приведен ниже.

Задача №933
Телефон
(Время: 1 сек. Память: 16 Мб Сложность: 12%)
Услуги телефонной сети оплачиваются по следующему правилу: за разговоры до А минут в месяц – В рублей за
минуту, а разговоры сверх установленной нормы оплачиваются из расчета С рублей за минуту. Требуется написать
программу, вычисляющую плату за пользование телефоном для разговоров продолжительностью Т минут в месяц.

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

https://acmp.ru/index.asp?main=alltasks 544/591
2/29/2020 Все задачи сайта

Входной файл INPUT.TXT содержит натуральные числа A, B, C и T, не превышающие 1000. Числа располагаются в
одной строке и разделены пробелами.

Выходные данные
В выходной файл OUTPUT.TXT выведите единственное целое число – месячную плату за пользование телефоном.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 30 2 3 30 60
2 20 1 3 30 50

Задача №934
Балда
(Время: 2 сек. Память: 16 Мб Сложность: 57%)
А вы играли в «балду»? Это такая игра, когда из букв одного слова нужно составить как можно больше других слов. И
чем длиннее такие слова, тем больше очков игрок заработает. Отсюда понятно, что самые выгодные слова – это те, которые
получены перестановкой букв исходного слова.
Хитрый Дима решил написать программу, которая распечатает ему заготовки для игры в "балду". Дима их выучит, и
будет побеждать всех своих друзей. Дима решил распечатать группы слов, которые получаются перестановкой букв.
Таких групп может оказаться слишком много, поэтому Дима решил распечатать первые пять с самым большим
количеством слов. Ну, а если в словаре окажется менее пяти групп, Дима распечатает их все. А, может быть, и Вы себе
такую программу создадите? Глядишь, и пригодится!

Входные данные
Входной файл INPUT.TXT содержит число N – количество слов в словаре (2 ≤ N ≤ 25000). Далее идет N слов, по
одному в строке. Каждое слово содержит не более 40 символов. Коды ASCII символов в словах превышают 32.

Выходные данные
В выходной файл OUTPUT.TXT выведите первые пять групп, отсортированных по количеству слов. Если групп
меньше пяти, выведите все группы. Для каждой группы отсортируйте все слова в лексикографическом порядке.
Повторяющиеся слова следует выводить однократно. Если есть несколько групп одного размера, отсортируйте их в
лексикографическом порядке первого слова в группе (первое слово в группе – в лексикографическом порядке, а не в
порядке добавления). Выводить группы слов следует согласно формату, описанному в примерах.

Примеры
№ INPUT.TXT OUTPUT.TXT
16 Group of size 5: caret carte cater crate trace .
undisplayed Group of size 4: abet bate beat beta .
trace Group of size 4: ate eat eta tea .
tea Group of size 1: displayed .
singleton Group of size 1: singleton .
eta
eat
displayed
1 crate
cater
carte
caret
beta
beat
bate
ate
abet
2 8 Group of size 3: abc cba .
https://acmp.ru/index.asp?main=alltasks 545/591
2/29/2020 Все задачи сайта
abc Group of size 2: pascal scalpa .
c++ Group of size 1: basic .
cba Group of size 1: c++ .
abc Group of size 1: java .
pascal
java
scalpa
basic

Задача №935
Шахматное поле
(Время: 1 сек. Память: 16 Мб Сложность: 16%)
На стандартной шахматной доске 8х8 заданы координаты двух клеток. Требуется определить: имеют ли данные клетки
одинаковый цвет?

Входные данные
Входной файл INPUT.TXT содержит целые числа x1, y1, x2, y2, описывающие координаты двух клеток (x1,y1) и (x2,y2).
Ограничения: 1 ≤ x1,y1,x2,y2 ≤ 8.

Выходные данные
В выходной файл OUTPUT.TXT выведите YES, если поля одного цвета, или слово NO в противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1 4 4 YES
2 1 2 7 5 NO

Задача №936
Алтайский технический университет
(Время: 1 сек. Память: 16 Мб Сложность: 41%)
Как известно, в Барнауле на протяжении многих лет проводятся олимпиады по программированию. Там бывали
многие студенты и школьники из нашего города. Наверняка, все запомнили здание Алтайского технического университета
и памятник Ползунову на площади перед ним.
Площадь перед университетом имеет форму круга с памятником Ползунову в центре. По ночам памятнику скучно, и
он наблюдает окружающий мир, поворачиваясь вокруг своей оси, но, не сходя со своего пьедестала. К сожалению,
растущие вокруг деревья затрудняют памятнику обзор, поэтому он видит хорошо на расстоянии, не превышающем радиус
площади - R. А поскольку глаз на затылке у памятника нет, он может наблюдать только за теми событиями, которые
расположены в полукруге радиуса R. Точки на границе полукруга памятник видит тоже хорошо.
Понятно, что памятник хочет наблюдать как можно больше людей на площади. Ваша задача – написать программу,
определяющую максимальное количество людей, которые может наблюдать памятник.

Входные данные
Первая строка входного файла INPUT.TXT содержит три числа: X,Y – целые координаты памятника и R –
вещественный радиус площади (R>0). Во второй строке указано целое число N – количество людей на площади (1 ≤ N ≤
150). Далее в N строках перечислены координаты точек (xi,yi), в которых находятся люди. Все координаты являются
целыми числами, не превышающими по модулю 1000.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число – максимальное количество людей, которые может
наблюдать памятник.

Примеры
https://acmp.ru/index.asp?main=alltasks 546/591
2/29/2020 Все задачи сайта

№ INPUT.TXT OUTPUT.TXT
25 25 3.5 3
7
25 28
23 27
1 27 27
24 23
26 23
24 29
26 29
350 200 2 4
5
350 202
2 350 199
350 198
348 200
352 200

Пояснения к примерам

Задача №937
Макрос
(Время: 1 сек. Память: 16 Мб Сложность: 72%)
Однажды Бараш решил поучаствовать в литературном конкурсе программистов. Стихотворения принимались на
четырех языках: Assembly, Foxy, Lispy, Prology. Как старый поэт-программист, Бараш признавал только Assembly. Поэтому
писать пришлось на нем. Он запустил свой верный edit.com под Dos 6.22 и приступил к делу. Учитывая то, что Бараш был
ленивым программистом, он вовсю использовал макросы. Это чрезвычайно ускоряло процесс стихосложения, так как у
Бараша было множество заготовок, как и у любого старого поэта-программиста.
Стих получился шикарным, но, посовещавшись со своей подругой Нюшей, Бараш понял, что стих недоступен для
понимания подавляющего большинства ценителей искусства. Поэтому Бараш решил пожертвовать формой произведения,
дабы донести его высший смысл. Для этого он решил отказаться от использования макроопределений в своем
произведении, выполнив макроподстановку.
Проблема в том, что одно стихотворное макроопределение могло содержать другие макроопределения. Также Бараш
был большим любителем циклической макрогенерации, что не могло не отразиться в его произведениях. Ему не хватило
душевных сил корежить произведение собственными руками, поэтому он попросил о помощи вас. Помогите Барашу!
Бараш использовал следующий формат макроопределений (вместо каждого символа ‘_’ во входном и выходном
файлах будет стоять точно один пробел):
https://acmp.ru/index.asp?main=alltasks 547/591
2/29/2020 Все задачи сайта

1. Макроопределения:
#identificator_{}
Идентификатор (имя макроопределения) состоит не более, чем из 10 строчных английских букв. Не встречается
макроопределений с именем “rep”.
2. Макровызовы:
##identificator_
3. Циклические макроопределения:
#rep_n_{}
n – целое число повторов текста (0 ≤ n ≤ 100).

Назовем блоком текст , заключенный между фигурными скобками. Bсе стихотворение также называется блоком.
В любом блоке могут встречаться другие макроопределения и макровызовы. Макроопределение считается
действующим для всего последующего текста текущего блока и всех последующих вложенных блоков, если только во
вложенном блоке не переобъявлено макроопределение с таким же именем. Если во вложенных блоках встретились
макроопределения с таким же именем, как и во внешнем блоке, тогда действующим считается макроопределение
внутреннего блока. В блоке не может встретиться двух одноименных макроопределений.
Рекурсивные вызовы отсутствуют. Вызовы несуществующих макроопределений игнорируются. Все макровызовы,
которые в тексте стихотворения стоят ранее макроопределения, считаются несуществующими и, следовательно,
игнорируются.

Входные данные
Входной файл INPUT.TXT содержит число N - количество строк в стихотворении. Далее идет N строк стихотворения.
Общий объем входных данных не превышает 1024 байт.

Выходные данные
В выходной файл OUTPUT.TXT выведите исправленный текст стихотворения.

Примеры
№ INPUT.TXT OUTPUT.TXT
5
##a_ a
#a_{a}##a_
1
#b_{##a__#a_{b}##a_#c_{##a_}_##c_} a_b_b
##b_##c_ a
##a_
4 a
#a_{#b_{#c_{a}##c_}##b_}##a_ b
2 #e_{#b_{#c_{b}##c_}##b_}##e_ c
#f_{#b_{#c_{c}##c_}##b_}##f_ abc
##a_##e_##f_##b_##c_

Примечание
В примерах символы пробелов во входных и выходных данных обозначены символом "_" (подчеркивание).

Задача №938
Простые числа - 2
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Знаете ли вы, что такое простое число? Простое число – это натуральное число, имеющее ровно два различных
натуральных делителя: единицу и самого себя. Все остальные числа, кроме единицы, называются составными. Например,
числа 2, 3, 5, 7, 11 являются простыми. А числа 4, 6, 10 – составными.
Требуется из заданного набора чисел выбрать одно, имеющее максимальное количество простых делителей.
Например, 30 имеет три простых делителя (2, 3 и 5), а 40 – только два (2 и 5).

Входные данные
https://acmp.ru/index.asp?main=alltasks 548/591
2/29/2020 Все задачи сайта

Первая строка входного файла INPUT.TXT содержит число N – количество чисел в наборе. Во второй строке теста
содержится N чисел, разделенных пробелом. Все числа во входных данных целые, принимающие значения от 2 до 1024.

Выходные данные
В выходной файл OUTPUT.TXT выведите число с максимальным количеством простых делителей. Если таких чисел
несколько, выведите наименьшее из них.

Примеры
№ INPUT.TXT OUTPUT.TXT
10 15
1
3 5 7 9 11 13 15 17 19 21
11 105
2
2 4 6 8 10 13 39 105 200 201 143

Задача №939
Золотоискатели
(Время: 1 сек. Память: 16 Мб Сложность: 59%)
Артель золотоискателей, состоящая из трех человек, добыла N самородков. Один из золотоискателей решил уехать, не
ожидая конца вахты, так как у него на Большой земле родился сын.
Артельщики решили выдать отъезжающему ровно третью часть добытого золота. Выбрать такой набор камней
оказалось непростой задачей. Вам надо написать программу, которая находит набор самородков, вес которого составляет
третью часть от веса добытого золота, либо определить, что это невозможно сделать.

Входные данные
Первая строка входного файла INPUT.TXT содержит целое число N - количество добытых самородков (1 ≤ N ≤ 100).
Во второй строке записано N целых чисел m1, m2, …, mn (1 ≤ mi ≤ 100), разделенные пробелами - веса добытых
самородков.

Выходные данные
В первую строку выходного файла OUTPUT.TXT следует вывести число K - количество самородков в наборе, а в
следующей строке - K чисел, задающих номера самородков. В случае неоднозначного ответа выведите любой. В случае,
если выделить ровно третью часть невозможно, выведите один ноль

Примеры
№ INPUT.TXT OUTPUT.TXT
8 3
1
1 3 4 1 2 5 1 1 1 3 4
3 0
2
1 3 6

Задача №940
Орфография
(Время: 1 сек. Память: 16 Мб Сложность: 13%)
У студента-филолога Васи есть замечательный друг Петя. И Петя никак не может выучить английский язык.
Английский текст Петя еще кое-как читает, но пишет с ужасными ошибками, причем чаще всего он вставляет в слова
лишние буквы.
Вася решил помочь Пете. Теперь каждый день Вася диктует Пете слова, а Петя их записывает. После семестра занятий
Петя стал писать много лучше и теперь делает в словах только по одной ошибке. Чтобы автоматизировать процесс
исправления ошибок, Вася просит Вас написать программу, которая удаляет из слова одну лишнюю букву и показывает
Пете правильное слово.

Входные данные
https://acmp.ru/index.asp?main=alltasks 549/591
2/29/2020 Все задачи сайта

Входной файл INPUT.TXT содержит целое число K - номер лишней буквы, а затем через один или несколько пробелов
записано слово S, состоящее из английских букв верхнего регистра. Гарантируется, что номер буквы не превышает длину
слова. Длина слова не более 80 символов.

Выходные данные
В выходной файл OUTPUT.TXT выведите исправленное слово.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 4 MISTSPELL MISSPELL
2 2 ABC AC

Задача №941
Unix
(Время: 1 сек. Память: 16 Мб Сложность: 29%)
Наш любимый сисадмин Алексей установил новую ОС семейства Unix. Основные её особенности - это стабильность,
надежность, гибкость и масштабируемость и огромное количество идущего в стандартной поставке программного
обеспечения. Одна из таких встроенных программ предназначена для сложения чисел, представленных в троичной
системе счисления. Вы понимаете то, что Костя - известный тестер, и делом чести для него является найти ошибку в
реализации столь сложной задачи. Помогите ему - напишите свою, абсолютно безошибочную версию «троичного
калькулятора».

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

Входной файл INPUT.TXT содержит два, разделенных пробелом, числа N и M (0 ≤ N, M ≤ 231-1) в троичной системе
счисления.

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ – сумму N и M в десятичной системе счисления.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1 2
2 20 102 17

Задача №942
Олимпиада
(Время: 1 сек. Память: 16 Мб Сложность: 2%)
Трое студентов, пятикурсник, третьекурсник и первокурсник, живут в одной комнате общежития и любят участвовать
в соревнованиях по программированию по правилам ACM. У каждого из них свой подход к решению задач. Пятикурсник
решает все задачи строго по порядку - сначала первую, затем вторую, и так до последней. Третьекурсник решает задачи
строго в обратном порядке – сначала последнюю, затем предпоследнюю, и так до первой. А первокурсник сначала решает
самую простую задачу, затем – самую простую из оставшихся задач, и так до самой сложной. Сложность задачи
определяется временем, необходимым для её решения. Для решения одной и той же задачи наши студенты тратят
одинаковое количество времени.
Ваша задача – по описанию соревнований по программированию определить, кто из студентов победит. Напомним,
что по правилам ACM побеждает участник, за 300 минут решивший больше всего задач, а при равенстве количества задач
– набравший меньше штрафного времени.
Наши студенты – очень сильные программисты, и при решении задач они не делают неправильных попыток. Поэтому
за задачу начисляется штраф в размере количества минут от начала соревнования до её посылки на проверку. Если же и
количество штрафного времени совпадает – то студент со старшего курса уступает победу студенту с младшего курса.

Входные данные
https://acmp.ru/index.asp?main=alltasks 550/591
2/29/2020 Все задачи сайта

Входной файл INPUT.TXT содержит натуральное число N (N ≤ 10) – количество задач. Во второй строке записаны N
натуральных чисел – количество минут, необходимое для решения каждой задачи. Время решения задачи не превосходит
300 минут.

Выходные данные
В выходной файл OUTPUT.TXT выведите номер курса студента, одержавшего победу в олимпиаде.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 1
1
40 30 60
4 1
2
10 20 30 40

Пояснение к примерам
В первом тесте пятикурсник набрал 240 штрафных минут (40 + 70 + 130), третьекурсник – 280 (60 + 90 + 130),
первокурсник - 230 минут (30 + 70 + 130).
Во втором тесте третьекурсник набрал 300 минут, а первокурсник и пятикурсник – 200 минут. Но пятикурсник
уступил первокурснику.

Задача №943
Змейка - 3
(Время: 1 сек. Память: 16 Мб Сложность: 16%)
Напишите программу, которая выводит элемент из строки Y и столбца X матрицы размера N×M, которая заполнена
следующим образом:

0 1 2 3
7 6 5 4
8 9 10 11
Входные данные
Входной файл INPUT.TXT содержит натуральные числа N, M, Y, X (Y ≤ N ≤ 50; X ≤ M ≤ 50). N - количество строк
матрицы, M - количество столбцов матрицы, Y и X - номера строки и столбца искомого элемента.

Выходные данные
В выходной файл OUTPUT.TXT выведите искомый элемент.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 4 2 3 5
2 5 2 3 1 4

Задача №944
Размен
(Время: 1 сек. Память: 16 Мб Сложность: 41%)
У вас имеется неограниченное количество монеток N разных достоинств. Определить, можно ли с их помощью
разменять заданные К сумм денег.

https://acmp.ru/index.asp?main=alltasks 551/591
2/29/2020 Все задачи сайта

Входные данные
В первой строке входного файла INPUT.TXT задано число N, далее во второй строке записаны N чисел, задающих
достоинства монеток. В третьей строке задано число К – количество сумм. В четвертой строке располагаются К чисел,
определяющих размеры сумм. Все числа во входном файле натуральны и не превосходят 1000.

Выходные данные
В выходной файл OUTPUT.TXT выведите К чисел через пробел: для каждой суммы следует вывести 0, если ее
разменять нельзя, и 1, если можно.

Примеры
№ INPUT.TXT OUTPUT.TXT
2 1 1 0 1 1
3 5
1
5
3 6 7 11 12
1 0
10
2
1
3

Задача №945
Баллы
(Время: 2 сек. Память: 64 Мб Сложность: 45%)
Мир наш развивается, строятся города, люди улетают в космос, изменяется система аттестации студентов в СФУ. Но
вот проблема - систему аттестации студентов изменили, а программное обеспечение, которое поставлено в деканатах для
контроля успеваемости, оставили прежним. Поэтому Вам срочно требуется внедрить во всех деканатах новую программу
поиска студентов с заданным баллом!

Входные данные
В первой строке входного файла INPUT.TXT содержатся натуральные числа N и K (N, K ≤ 200 000) – соответственно
количество студентов, подлежащих аттестации, и число запросов декана об успеваемости студентов. Во второй строке
находятся N целых чисел ai, упорядоченных по возрастанию. Эти числа - аттестационные баллы студентов. В третьей
строке располагаются K целых чисел bi, определяющие искомый балл. (0 ≤ ai, bi ≤ 232)

Выходные данные
В выходной файл OUTPUT.TXT выведите для каждого из K запросов через пробел слово «YES», если студент с таким
баллом есть, и «NO» в противном случае.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 4 NO YES NO YES
1 1 6 9
7 9 10 1
2 2 YES NO
2 1 2
1 3

Задача №946
Полка
(Время: 1 сек. Память: 16 Мб Сложность: 31%)

https://acmp.ru/index.asp?main=alltasks 552/591
2/29/2020 Все задачи сайта

У Андрея есть младший брат Ванечка, который очень любит смотреть мультики. Ванечка вечно разбрасывал по дому и
терял свои DVD с мультиками. Поэтому на день рождения Андрей подарил брату длинную полку для того, чтобы Ванечка
ставил на нее свои диски. Чтобы на полке был порядок, Андрей просил Ванечку соблюдать простой порядок:

если на полке нет ни одного диска, то Ванечка просто ставит его;


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

И теперь Андрей хочет узнать, выполнил Ванечка его инструкции или нет.

Входные данные
В первой строке входного файла INPUT.TXT указано целое число N (1 ≤ N ≤ 10000) - количество операций, которые
выполнил Ванечка. Далее в N строках находится информация об операциях. Каждая операция постановки диска на полку
описывается парой чисел. Первое из них (1 или 2) показывает, что диск ставится с левого края или с правого края
соответственно. Второе целое число (от 0 до 10000) обозначает номер диска. Операции снятия диска с полки описывается
одним числом 3 или 4, обозначающим с левого и правого края полки соответственно снимается диск.
В начальный момент полка пуста. Гарантируется, что последовательность операций корректна, нет команд снятия
диска с пустой полки.

Выходные данные
В выходной файл OUTPUT.TXT для каждой операции снятия диска с полки выведите его номер.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 3 2
1 1
2 2
1
1 3
3
4
2 1
2 1 1
3

Задача №947
Карточки - 3
(Время: 1 сек. Память: 16 Мб Сложность: 22%)
Студент-первокурсник Антон никак не может понять странную формулу
1/2 + 1/3 + 1/4 + ... + 1/n + ... → бесконечность
Хорошо, что у Антона есть друг Васька, который отлично знает математику. Вот и придумал Васька, как Антошке
объяснить эту самую бесконечность. Взял колоду карт и стал раскладывать карты на столе. Если есть одна карта, она
нависает над столом на 1/2 длины карты. Если есть две карты, то верхняя нависает над нижней на 1/2 длины карты, а
нижняя - нависает над столом на 1/3 длины. В итоге получается нависание 1/2+1/3=5/6. А если у нас есть N карт, то длина
нависающей части уже 1/2+1/3+1/4+...+1/N.

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

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

https://acmp.ru/index.asp?main=alltasks 553/591
2/29/2020 Все задачи сайта

Входной файл INPUT.TXT содержит единственное положительное число X - длина нависающей части. Число X
задано с двумя знаками после запятой и 0.01 ≤ x < 10.00.

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу по формату, приведенному в примерах.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1.00 3 card(s)
2 3.71 61 card(s)
3 0.04 1 card(s)
4 5.19 273 card(s)

Задача №948
Строки в книге
(Время: 1 сек. Память: 16 Мб Сложность: 13%)
В книге на одной странице помещается K строк. Таким образом, на 1-й странице печатаются строки с 1-й по K-ю, на
второй — с (K+1)-й по (2∙K)-ю и т.д. Напишите программу, которая по номеру строки в тексте определяет номер страницы,
на которой будет напечатана эта строка, и порядковый номер этой строки на странице.

Входные данные
Входной файл INPUT.TXT содержит число K – количество строк, которое печатается на странице, и число N – номер
строки (1 ≤ K ≤ 200, 1 ≤ N ≤ 20000).

Выходные данные
В выходной файл OUTPUT.TXT выведите два числа – номер страницы, на которой будет напечатана эта строка и
номер строки на странице.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 50 1 1 1
2 20 25 2 5
3 15 43 3 13

Задача №949
Фибоначчиева последовательность
(Время: 1 сек. Память: 16 Мб Сложность: 17%)
Последовательность чисел a1, a2, …, ai,… называется Фибоначчиевой, если для всех i ≥ 3 верно, что ai=ai-1+ai-2, то
есть каждый член последовательности (начиная с третьего) равен сумме двух предыдущих.
Ясно, что, задавая различные числа a1 и a2, мы можем получать различные такие последовательности, и любая
Фибоначчиева последовательность однозначно задается двумя своими первыми членами.
Будем решать обратную задачу. Вам будет дано число n и два члена последовательности: an и an+1. Вам нужно
написать программу, которая по их значениям найдет a1 и a2.

Входные данные
Входной файл INPUT.TXT содержит число n и значения двух членов последовательности: an и an+1 (1 ≤ n ≤ 30, члены
последовательности — целые числа, по модулю не превышающие 2×109).

Выходные данные
https://acmp.ru/index.asp?main=alltasks 554/591
2/29/2020 Все задачи сайта

В выходной файл OUTPUT.TXT выведите два числа — значения первого и второго членов этой последовательности.

Пример
№ INPUT.TXT OUTPUT.TXT
1 4 3 5 1 1

Задача №950
Сжатие бинарных последовательностей
(Время: 1 сек. Память: 16 Мб Сложность: 19%)
Последовательность из символов «0» и «1» называется бинарной. Они широко применяются в информатике и других
науках. Одно из неудобств бинарных последовательностей – их трудно запоминать. Для решения этой проблемы были
предложены разные способы их сжатия. Программист Слава использует следующий способ: просматривая
последовательность слева направо, он заменяет «1» на «a», «01» на «b», «001» на «c», …, «00000000000000000000000001»
на «z». Напишите программу, которая поможет Славе автоматизировать этот способ сжатия.

Входные данные
Входной файл INPUT.TXT содержит бинарную последовательность – строку из символов «0» и «1» длиной не более
255 символов. Гарантируется, что к ней применим указанный способ сжатия.

Выходные данные
В выходной файл OUTPUT.TXT выведите одну строку из английских строчных букв от «a» до «z» – сжатие заданной
бинарной последовательности.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 101 ab
2 101001 abc
3 0000000000000000000000001 y

Задача №951
Вирусы
(Время: 2 сек. Память: 16 Мб Сложность: 30%)
Для моделирования различных объектов часто применяются так называемые клеточные поля. В простейшем случае –
это прямоугольные таблицы, характеризующие некоторую область, а в каждой ячейке таблицы записывается какая-либо
информация об исследуемом объекте. В биологии для моделирования распространения вирусов на плоской области в
каждой ячейке помечается наличие вируса, а его распространение осуществляется в соседние ячейки по вертикали и
горизонтали за одну единицу времени. В начальный момент времени в исследуемую область проникли несколько вирусов.
Напишите программу, которая найдёт время заражения всей исследуемой прямоугольной области.

Входные данные
Первая строка входного файла INPUT.TXT содержит два натуральных числа n и m - размеры таблицы (количество
строк и столбцов соответственно). Известно, что 1 ≤ n, m ≤ 3000. Во второй строке вначале записано одно число k –
количество проникших вирусов, а далее записаны 2k чисел – номера строк и столбцов первых заражённых ячеек yi, xi (1 ≤
k ≤ 10, 1 ≤ yi ≤ n, 1 ≤ xi ≤ m).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – время заражения всей области.

Пример
№ INPUT.TXT OUTPUT.TXT

https://acmp.ru/index.asp?main=alltasks 555/591
2/29/2020 Все задачи сайта
1 4 5 4
2 2 1 4 5

Пояснения
В приведённом примере таблица имеет размер 4*5, в ней символом ‘V’ помечены проникшие вирусы. Легко
посчитать, что за четыре единицы времени произойдёт заражение всей области.

Задача №952
В автобусе
(Время: 1 сек. Память: 16 Мб Сложность: 18%)
Цена проезда в автобусах нашего города — один рубль. Однако, не все так просто — каждый взрослый пассажир
имеет право провезти бесплатно не более одного ребенка. Это значит, что взрослый пассажир, который провозит с собой k
(k > 0) детей, платит всего k рублей: за один билет для себя и за (k - 1) билетов для своих детей. Также взрослый может
ехать без детей, в этом случае он платит всего один рубль. Известно, что дети не могут проезжать в автобусе без
сопровождения взрослых.
Помогите посчитать минимальную и максимальную стоимость проезда в рублях, которую могли заплатить пассажиры
автобуса.

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

Входной файл INPUT.TXT содержит два целых числа n и m (0 ≤ n, m ≤ 105) — количество взрослых и количество
детей в автобусе, соответственно.

Выходные данные
В выходной файл OUTPUT.TXT выведите через пробел два числа — минимальную и максимальную возможную
стоимость проезда, если поездка возможна, в противном случае следует вывести «Impossible» (без кавычек).

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 2 2 2
2 0 5 Impossible
3 2 2 2 3

Задача №953
Дроби
(Время: 1 сек. Память: 16 Мб Сложность: 46%)
В то время, пока другие дети бегали по улицам или гоняли мяч, мальчик Слава сидел дома и решал сложную
математическую проблему. Вкратце, проблема выглядела так.
Каждое натуральное число, начиная с трёх, можно представить в виде суммы различных натуральных чисел,
например, 5=3+2=4+1. А возможно ли представить правильную дробь m/n в виде суммы различных членов
гармонического ряда 1/2, 1/3, 1/4, …, то есть m/n=1/x+1/y+1/z+…? При этом должно выполняться условие x < y < z < …
Если существует несколько решений, то надо найти то из них, у которого значение x минимально. Если неоднозначность
не снимается, то надо найти решение с минимальным y, и так далее.

Входные данные
https://acmp.ru/index.asp?main=alltasks 556/591
2/29/2020 Все задачи сайта

Входной файл INPUT.TXT содержит два натуральных числа m и n (1 ≤ m < n ≤ 32).

Выходные данные
В выходной файл OUTPUT.TXT выведите найденные числа x, y, z, … через пробел.

Пример
№ INPUT.TXT OUTPUT.TXT
1 5 6 2 3

Задача №954
Стаканы
(Время: 1 сек. Память: 16 Мб Сложность: 40%)
Как известно, стакан – предмет весьма функциональный. Самый банальный способ применения –
ёмкость для жидкости, самый оригинальный ещё не изобретён. А мальчик Слава строит из стаканов
башни, пользуясь удивительным свойством стаканов ставиться друг на друга или вставляться друг в друга.
Слава строит башни из стаканов высотой 10 сантиметров, которых у него имеется бесконечное
количество. Стакан можно поставить на уже имеющуюся конструкцию либо дном вниз, либо дном вверх.
Если предыдущий стакан установлен аналогично новому, то конструкция вырастет на 1 сантиметр, так как
стаканы надеваются друг на друга. В противном случае башня вырастет на 10 сантиметров.
Однажды Слава заметил, что ни в коем случае нельзя вставлять друг в друга более трёх стаканов,
иначе один из стаканов обязательно разобьётся.
На рисунке показан пример башни высотой 32 сантиметра из 5 стаканов.
Слава умудрился построить красивую башню высотой k сантиметров. Но когда он пошёл за
фотоаппаратом, чтобы запечатлеть это достижение, случайно задел конструкцию, и башня упала. Пытаясь
восстановить своё творение, Слава понял, что есть несколько способов построить башню аналогичной
высоты. Помогите Славе вычислить точное количество способов.

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

Входной файл INPUT.TXT содержит натуральное число k (k ≤ 105).

Выходные данные
В выходной файл OUTPUT.TXT выведите количество способов построить башню заданной высоты, взятое по модулю
106.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 11 2
2 22 6
3 32 12

Задача №955
Вирусы - 2
(Время: 1 сек. Память: 16 Мб Сложность: 40%)
Для моделирования различных объектов часто применяются так называемые клеточные поля. В простейшем случае –
это прямоугольные таблицы, характеризующие некоторую область, а в каждой ячейке таблицы записывается какая-либо
информация об исследуемом объекте. В биологии для моделирования распространения вирусов на плоской области в
каждой ячейке помечается наличие вируса, а его распространение осуществляется в соседние ячейки по вертикали и
горизонтали за одну единицу времени. Некоторые клетки обладают иммунитетом, заразить их невозможно и через них не
распространяются вирусы. Напишите программу, которая найдёт минимально возможное число вирусов, с помощью
которых можно заразить всю исследуемую прямоугольную область (за исключением защищённых клеток).

https://acmp.ru/index.asp?main=alltasks 557/591
2/29/2020 Все задачи сайта

Входные данные
В первой строке входного файла INPUT.TXT содержится два натуральных числа n и m - размеры таблицы (количество
строк и столбцов соответственно). Известно, что 1 ≤ n, m ≤ 100. Во второй строке вначале записано одно число k –
количество защищённых клеток, а далее записаны 2k чисел – координаты этих клеток yi, xi (0 ≤ k ≤ n×m, 1 ≤ yi ≤ n, 1 ≤ xi ≤
m).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – минимально возможное число вирусов.

Пример
№ INPUT.TXT OUTPUT.TXT
4 5 2
1
3 1 3 2 1 2 2

Пояснения
В приведённом примере таблица имеет размер 4*5, в ней символом «I» помечены защищённые клетки. Видно, что
двух вирусов достаточно для заражения всей области. Их можно поместить, например, в клетки, помеченные символом
«V».

Задача №956
Юный гитарист
(Время: 2 сек. Память: 16 Мб Сложность: 57%)
Ваня решил заняться музыкой. Но какой музыкальный инструмент выбрать для изучения, он пока еще не решил. Его
друг Женя, будучи немного постарше и опытнее, уже хорошо освоил гитару. Он хочет продемонстрировать Ване
возможности игры на гитаре.
На гитаре шесть струн, каждая из них может быть зажата пальцем на определенном ладу или оставлена открытой (не
прижатой ни на каком ладу), от этого изменяется нота, которая звучит, когда струна колеблется.
Чтобы продемонстрировать возможности инструмента, Женя ведет с Ваней такую беседу. Ваня называет некоторый
аккорд, а Женя говорит ему, сколькими способами можно этот аккорд взять на гитаре, то есть выбрать на каждой струне
лад и зажать его (или оставить ее открытой), чтобы этот аккорд зазвучал. Женя любит громкий звук, поэтому звучать
должны все струны.
Нот в музыке, конечно, семь, но помимо них существуют еще полутона. Поэтому для удобства мы будем считать, что
нот всего 12. Их обозначения такие: A, Bb, B, C, C#, D, D#, E, F, F#, G, G#.
Кроме этого, C# может быть обозначен как Db, Bb как A#, D# как Eb, F# как Gb, а G# как Ab. Обозначения нот
приведены в порядке их следования, то есть за A идет Bb, за Bb идет B, . . . , за G# идет снова A. Расстояние между
любыми двумя соседними нотами равно одному полутону.
Струн у гитары шесть, они занумерованы с 1 по 6. Каждая струна издает определенную ноту, когда звучит и не
прижата ни на каком ладу. Совокупность нот, соответствующих открытым струнам, называется строем гитары. Если
открытую струну, издающую ноту номер i, зажать на j-том ладу (лады нумеруются с единицы), то этой струной будет
издаваться нота i + j, то есть, от ноты i надо сместиться на j нот по циклу. Например, если открытая струна издает ноту D,
то зажав ее на третьем ладу, мы получим ноту F, а на восьмом – ноту Bb.
На гитаре Вани N ладов, поэтому 1 ≤ j ≤ N. Аккордов существует большое множество, но строятся они по общей
схеме. Вначале выбирается так называемая тоника аккорда – нота, от которой он будет строиться. Затем остальные ноты
аккорда выписываются уже относительно нее.
https://acmp.ru/index.asp?main=alltasks 558/591
2/29/2020 Все задачи сайта

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

К тонике добавляются ноты, отстоящие на 4 и 7 полутонов. Вторая часть записи этого аккорда пуста.
Пример: Eb, состоит из нот Eb, G, Bb.

Минорный аккорд

К тонике добавляются ноты, отстоящие на 3 и 7 полутонов.


Вторая часть записи этого аккорда состоит из маленькой английской буквы m.
Пример: Am, состоит из нот A, C, E.

Мажорный септаккорд

Образуется из мажорного аккорда путем добавления ноты, отстоящей от тоники на 10 полутонов.


Вторая часть состоит из цифры 7.
Пример: E7, состоит из нот E, B, G#, D.

Минорный септаккорд

Образуется из минорного аккорда путем добавления ноты, отстоящей от тоники на 10 полутонов.


Вторая часть состоит из буквы m и цифры 7.
Пример: Gm7, состоит из нот G, D, Bb, F.

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

Входные данные
В первой строке входного файла INPUT.TXT содержится N – число ладов гитары (0 ≤ N ≤ 9). Во второй строке записан
строй гитары – шесть нот, соответствующие шести струнам гитары. Ноты обозначены, как в тексте задачи, и отделены
друг от друга пробелами. Регистр букв важен. В третьей строке записан аккорд, который надо взять на гитаре.

Выходные данные
В выходной файл OUTPUT.TXT выведите количество способов взять данный аккорд на данной гитаре.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 4
1 E B G D A E
C
0 1
2 A C E A C E
Am

Пояснения к примерам
Если обозначить вариант взятия аккорда шестью цифрами – номерами ладов, на которых зажаты струны с первой по
шестую, считая открытую струну зажатой на нулевом ладу то в первом примере четыре способа таковы:

(0; 1; 0; 2; 3; 0)
(3; 1; 0; 2; 3; 0)
(0; 1; 0; 2; 3; 3)
(3; 1; 0; 2; 3; 3)

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

https://acmp.ru/index.asp?main=alltasks 559/591
2/29/2020 Все задачи сайта

Задача №957
Доказательство в HOL
(Время: 1 сек. Память: 16 Мб Сложность: 51%)
Студент Дима учится на втором курсе университета. На втором курсе в его университете читается курс
математической логики. В этом курсе особое внимание акцентируется на автоматических доказателях – программах,
позволяющих с их помощью доказывать различные сложные теоремы.
Курсовая работа по математической логике у Димы такая: необходимо доказать с помощью автоматического
доказателя HOL, что шахматную доску размером 2N x 2N, из которой вырезана одна клетка, можно покрыть в один слой
уголками из трех клеток.
Дима не верит в то, что это правда, и пытается составить контрпример. Ваша задача доказать Диме, что он неправ, и
решить задачу для Диминых входных данных.

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

Входной файл INPUT.TXT содержит три натуральных числа N, X, Y (N ≤ 6; X,Y ≤ 2N). Этими числами задана доска 2N
x 2N, из которой вырезана клетка с координатами (X, Y). X – координата по горизонтали, Y – по вертикали, (1, 1) – верхний
левый угол доски.

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

В выходной файл OUTPUT.TXT выведите 2N строк по 2N чисел – номера уголков, покрывающих соответствующие
клетки. Каждый уголок характеризуется своим уникальным номером. Уголки пронумерованы начиная с единицы, без
пропусков. Вырезанную клетку следует обозначить нулем.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1 0 1
1
1 1
2 2 2 2 2 3 3
2 0 1 3
2
4 1 1 5
4 4 5 5

Задача №958
Осмотр королевства
(Время: 1 сек. Память: 16 Мб Сложность: 62%)
Давным давно в одном королевстве правил мудрый король. В том королевстве было n городов, любые два из которых
были соединены дорогой. С целью безопасности дорожного движения, по каждой дороге разрешалось перемещаться
только в одну сторону.
Король любил свое королевство. Каждый год он k раз осуществлял осмотр королевства. Каждый осмотр начинался в
столице, затем король, перемещаясь по дорогам, посещал некоторые города, и, наконец, прибывал в курортный город на
берегу моря, где он отдыхал после нелегкой работы. Таким образом король посещал каждый город в королевстве ровно
один раз в течении года (за исключением столицы, где каждый осмотр начинался, и морского курорта, где каждый осмотр
заканчивался).
Но годы уходили, и король становится стар. И ему было все сложнее делать эти k осмотров. Так что однажды он
позвал своего министра транспорта и приказал ему сделать новую программу для осмотра королевства. Осмотр должен
начинаться в столице и заканчиваться на морском курорте. Однако теперь весь этот путь должен посещать все города,
которые ранее посещались в процессе k осмотров. И более того, если ранее некоторые города A и B посещались в
процессе одного осмотра и причем A посещался до B, то новый осмотр также должен посещать A до B.
Помогите королю сделать осмотр королевства менее утомительным, разработайте новый маршрут для осмотра.

Входные данные
Первая строка входного файла INPUT.TXT содержит два целых числа: n и k (3 ≤ n ≤ 400, 1 ≤ k ≤ 100). Следующие n
строк описывают дороги. Каждая строка содержит n символов, i-й символ i-й из этих строк равен '.'. Для всех j≠i j-й символ
https://acmp.ru/index.asp?main=alltasks 560/591
2/29/2020 Все задачи сайта

i-й строки равен '+', если дорога идет из j-го города в i-й, либо '-', если дорога идет из i-го города в j-й. Столица имеет
номер 1, морской курорт имеет номер n.
Следующие k строк содержат описание маршрутов, по которым король традиционно осуществлял осмотр. Каждый
маршрут описывается на одной строке. Описание содержит номера городов в том порядке, в котором король посещал
города в процессе соответствующего осмотра. Гарантируется, что каждый осмотр начинается в столице, заканчивается в
морском курорте, и следует по всем дорогам в корректном направлении. Каждый город, за исключением столицы и
морского курорта, посещается ровно в одном маршруте. Ни один маршрут не идет непосредственно из столицы в морской
курорт. Ни один маршрут не посещает в качестве промежуточного города столицу или морской курорт.

Выходные данные
В выходной файл OUTPUT.TXT выведите n чисел – порядок, в котором следует посещать города. Если выполнить
требования короля невозможно, выведите −1.

Пример
№ INPUT.TXT OUTPUT.TXT
7 2 1 3 2 4 5 6 7
.------
+.+----
+-.-+++
+++.---
1
++-+.--
++-++.-
++-+++.
1 3 4 7
1 2 5 6 7

Задача №959
Защита деревьев
(Время: 3 сек. Память: 16 Мб Сложность: 70%)
Андрюша получил на день рождения подарок от родителей – маленького щенка. Он назвал его Весельчак. Весельчак
еще очень маленький, но у него уже есть зубы. Они очень острые, и должно быть еще растут, потому что Весельчак очень
любит погрызть все, что попадает в его поле зрения.
Летом Андрюша с родителями приехал на дачу и Весельчака поселили во дворе. Папа у Андрюши – садовод
любитель, и он выращивает во дворе n плодово-ягодных деревьев. Теперь он опасается, что Весельчак может погрызть его
любимые деревья, поэтому он решил их защитить.
Он нашел в сарае три длинные доски и теперь собирается соорудить из них забор. Забор будет треугольным, причем
никакая часть доски не должна выступать за границу забора, поскольку в этом случае кто-нибудь может запнуться об нее и
упасть. Распиливать доски нельзя они могут в дальнейшем пригодиться в хозяйстве.
Однако может получиться так, что нельзя огородить треугольным забором все деревья. В этом случае папа Андрюши
хочет огородить как можно больше деревьев. Помогите ему определить, сколько деревьев он может защитить.

Входные данные
Первая строка входного файла INPUT.TXT содержит n – количество деревьев во дворе (1 ≤ n ≤ 70). Вторая строка
содержит три целых числа a, b и c – длины досок, которые будут использованы для забора (1 ≤ a, b, c ≤ 104, существует
невырожденный треугольник со сторонами a, b и c). Следующие n строк содержат по два целых числа – координаты
деревьев. Координаты не превышают 104 по абсолютной величине. Вы можете пренебречь толщиной деревьев. Никакие
два дерева не совпадают.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число – количество деревьев, которое можно защитить.

Пример
№ INPUT.TXT OUTPUT.TXT
https://acmp.ru/index.asp?main=alltasks 561/591
2/29/2020 Все задачи сайта
1 5 3
3 4 6
6 0
0 0
1 2
2 3
6 1

Задача №960
Три буквы
(Время: 1 сек. Память: 16 Мб Сложность: 44%)
Напомним, что cтрока B = b1b2b3...bm, является подпоследовательностью строки A = a1a2a3...an, если существует
строго возрастающая последовательность {i1, i2, i3, ... , im} индексов A, такая, что для всех j от 1 до m выполняется Aij=Bj.
Например, B = ”aba” является подпоследовательностью строки A = ”abacaba”. Последовательность индексов в этом случае
может быть такой: {1, 2, 3}.
Пусть Вам дана строка S, состоящая только из маленьких букв английского алфавита. Ваша задача заключается в том,
чтобы посчитать количество ее подпоследовательностей “abc”.

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

Входной файл INPUT.TXT содержит строку S, длиной не более 105 символов.

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 abc 1
2 ab 0

Задача №961
Все, что движется
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Дано поле N×M и объекты на нем в моменты времени T и T+1. Каждый объект представлен одной английской буквой
и в любой момент времени может занимать ровно одну клетку поля.
Объект движется, если в два последовательных момента времени его положения различаются.
Найдите все, что движется.

Входные данные
В первой строке входного файла INPUT.TXT записаны два целых числа N и M (1 ≤ N, M ≤ 100). В следующих N
строках по M символов – поле в момент времени T. Каждый символ либо является точкой «.», и это означает, что в этом
месте поля ничего нет, либо английская буква, обозначающая то, что в этом месте находится объект. Никакие два
различных объекта не обозначены одним и тем же символом.
Далее идет пустая строка.
В следующих N строках находится описание того же поля в момент времени T+1 в том же формате. Множество
объектов, находящихся на поле в момент времени T, равно множеству объектов в момент времени T + 1.

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

https://acmp.ru/index.asp?main=alltasks 562/591
2/29/2020 Все задачи сайта

Примеры
№ INPUT.TXT OUTPUT.TXT
2 2 1
.A A
..
1
A.
..
3 3 0
x.O
.X.
.o.
2
x.O
.X.
.o.

Задача №962
Развлечение с квадратиками
(Время: 3 сек. Память: 64 Мб Сложность: 75%)
У Димы есть N квадратиков, стороны которых параллельны осям координат. Для двух квадратов A и B обозначим
фигуру, которая состоит из точек A, не принадлежащих B, как A-B.

Теперь Дима хочет найти количество наборов из четырех различных квадратиков A, B , C и D, таких что A-B и C-D
равны с точностью до параллельного переноса (повороты не разрешаются).

Входные данные
Первая строка входного файла INPUT.TXT содержит N – количество квадратиков (4 ≤ N ≤ 400). Следующие N строк
описывают квадратики. Каждый квадратик описывается тремя целыми числами: x, y и l – координатами левого нижнего
угла и длиной стороны (−109 ≤ x, y ≤ 109,1 ≤ l ≤ 109).

Выходные данные
В выходной файл OUTPUT.TXT выведите количество наборов из четырех различных квадратиков A, B, C и D, таких
что A-B и C-D равны с точностью до параллельного переноса. Наборы, содержащие одно и то же множество квадратиков,
но в разном порядке, считаются различными.

Примеры
№ INPUT.TXT OUTPUT.TXT
4 6
0 0 3
1 1 1 1
2 2 1
1 1 3

https://acmp.ru/index.asp?main=alltasks 563/591
2/29/2020 Все задачи сайта
2 4 0
0 0 3
1 1 3
2 2 3
4 4 3

Пояснение
В первом примере подходят следующие наборы: {0, 1, 3, 2}, {1, 0, 2, 3}, {1, 3, 2, 0}, {2, 0, 1, 3}, {2, 3, 1, 0} и {3, 2, 0,
1}.

Задача №963
Морфизм
(Время: 2 сек. Память: 16 Мб Сложность: 63%)
Рассмотрим слова, состоящие из первых n букв английского алфавита. Морфизм – это функция f, которая по букве
возвращает слово. Рассмотрим пример морфизма: f(A) = ABC, f(B) = A, f(C) = BC.
Если мы рассмотрим слово w = c1c2...cl и применим к нему морфизм f, мы получим слово f(w) = f(c1)f(c2)...f(cl).
Например, для морфизма из предыдущего параграфа f(ABC) = ABCABC.
Мы можем применять морфизм к слову несколько раз. Положим f0(w) = w, и для k > 0 положим fk(w) = f(fk−1(w)).
По заданному морфизму f, слову w, числу k и числу p, найдите p-й символ слова fk(w).

Входные данные
Первая строка входного файла INPUT.TXT содержит числа n, k и p (1 ≤ n ≤ 10, 0 ≤ k ≤ 109,1 ≤ p ≤ 20). Вторая строка
входного файла содержит слово w. Его длина не превышает 50. Следующие n строк содержат f(A), f(B), и т.д. Каждое
значение – это строка, содержащая от 1 до 50 символов.

Выходные данные
В выходной файл OUTPUT.TXT выведите p-й символ fk(w), или «-» (минус) - если такой символ отсутствует.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 1 5 B
ABC
1 ABC
A
BC
3 1 7 -
ABC
2 ABC
A
BC

Задача №964
Ничего не потерялось
(Время: 5 сек. Память: 16 Мб Сложность: 51%)
Разработка новой поисковой системы, которая ведется группой компаний Giggle, проходит под лозунгом «Ничего и не
терялось». Вы работаете в отделе передовых разработок, и на сегодняшний день вашей задачей является разработка
тестовой версии поискового «движка».
Тестовая версия реализует лишь часть функциональности полной версии. В частности, отсутствуют такие функции,
как использование логических выражений в запросах, перевод найденных страниц с одного языка на другой и т.д.
Возможности тестовой версии поисковой системы ограничиваются обработкой трех видов запросов: запросов на
добавление, на удаление и на поиск. Система работает следующим образом. В любой момент времени существует

https://acmp.ru/index.asp?main=alltasks 564/591
2/29/2020 Все задачи сайта

множество известных системе сайтов, причем для каждого сайта известно множество ключевых слов, встречающихся на
нем.
Запрос на добавление содержит ключевое слово и название сайта. При его выполнении ключевое слово добавляется в
множество ключевых слов, присутствующих на данном сайте. Если этого слова в соответствующем множестве еще нет, то
результатом запроса является «OK», в противном случае – «Already exists».
Запрос на удаление содержит ключевое слово и название сайта. При его выполнении ключевое слово исключается из
множества ключевых слов, присутствующих на данном сайте. Если этого слова в соответствующем множестве нет, то
результатом запроса является «Not found», в противном случае – «OK».
Запрос на поиск содержит только ключевое слово. Результатом запроса является лексикографически отсортированный
список сайтов, содержащих данное ключевое слово. При этом в результат выводятся только первые 10 сайтов из этого
списка. Задан список запросов. Необходимо вывести результат их последовательного выполнения.

Входные данные
Первая строка входного файла INPUT.TXT содержит целое число n – количество запросов, которые необходимо
обработать (0 ≤ n ≤ 2500). Каждая из последующих n строк содержит запрос. Запрос на добавление имеет следующий
формат:
Add keyword < keyword > to < site >, где < keyword > – ключевое слово, – название сайта, на который добавляется это
ключевое слово.
Запрос на удаление имеет следующий формат:
Remove keyword < keyword > from < site >, где < keyword > – ключевое слово, < site > – название сайта, на котором
удаляется это ключевое слово.
Запрос на поиск имеет следующий формат:
Search < keyword >, где < keyword > – ключевое слово.
Все ключевые слова (< keyword >) состоят из строчных букв английского алфавита. Длины ключевых слов не
превосходят 30 символов.
Все названия сайтов (< site >) состоят из строчных букв английского алфавита, символов «косая черта» («/») и точек
(«.»). Длины названий сайтов не превосходят 100 символов.

Выходные данные
В выходной файл OUTPUT.TXT выведите результат для каждого запроса. При этом придерживайтесь формата,
приведенного в примерах. Не забудьте обратить внимание на второй пример. Результаты запросов разделяйте строкой из
пяти символов «равно» («=»).

Примеры
№ INPUT.TXT OUTPUT.TXT
1 12 OK
Add keyword "olympiads" to neerc.ifmo.ru/school/io =====
Add keyword "neerc" to neerc.ifmo.ru OK
Search "olympiads" =====
Search "neerc" Results: 1 site(s) found
Add keyword "olympiads" to neerc.ifmo.ru 1) neerc.ifmo.ru/school/io
Search "olympiads" =====
Add keyword "olympiads" to neerc.ifmo.ru/school/io Results: 1 site(s) found
Remove keyword "olympiads" from neerc.ifmo.ru/school/io 1) neerc.ifmo.ru
Search "olympiads" =====
Remove keyword "olymp" from neerc.ifmo.ru OK
Remove keyword "olympiads" from neerc.ifmo.ru =====
Search "olympiads" Results: 2 site(s) found
1) neerc.ifmo.ru
2) neerc.ifmo.ru/school/io
=====
Already exists
=====
OK
https://acmp.ru/index.asp?main=alltasks 565/591
2/29/2020 Все задачи сайта
=====
Results: 1 site(s) found
1) neerc.ifmo.ru
=====
Not found
=====
OK
=====
Results: 0 site(s) found
12 OK
Add keyword "keyword" to site01 =====
Add keyword "keyword" to site02 OK
Add keyword "keyword" to site03 =====
Add keyword "keyword" to site04 OK
Add keyword "keyword" to site05 =====
Add keyword "keyword" to site06 OK
Add keyword "keyword" to site07 =====
Add keyword "keyword" to site08 OK
Add keyword "keyword" to site09 =====
Add keyword "keyword" to site10 OK
Add keyword "keyword" to site11 =====
Search "keyword" OK
=====
OK
=====
2 OK
=====
OK
=====
OK
=====
Results: 11 site(s) found
1) site01
2) site02
3) site03
4) site04
5) site05
6) site06
7) site07
8) site08
9) site09
10) site10

Задача №965
Мафия в городе
(Время: 1 сек. Память: 16 Мб Сложность: 47%)
Об этом еще никто не знает, но многие догадываются – мафия уже в городе. Поговаривают, что в планах главы
мафиозного клана захват контроля над всем городом, однако поначалу он решил ограничиться захватом основных линий
связи города.
В городе находятся n базовых телефонных станций, некоторые пары которых соединены двусторонними каналами
связи. Для удобства, занумеруем базовые станции целыми числами от 1 до n, канал связи в этом случае задается парой
чисел (u, v) – номерами станций, которые он соединяет.
Будем говорить, что канал связи (u, v) – контролируется мафией, если захвачена, либо станция u, либо станция v (либо
обе).
Глава мафиозного клана хочет контролировать все каналы связи, захватив при этом как можно меньше базовых
станций. Ваша задача помочь службе безопасности телефонной компании, составив возможный план захвата и определив
количество таких планов.

Входные данные
https://acmp.ru/index.asp?main=alltasks 566/591
2/29/2020 Все задачи сайта

Первая строка входного файла INPUT.TXT содержит два целых числа: n и m (2 ≤ n ≤ 18, 0 ≤ m). Каждая из
последующих m строк описывает один канал связи и содержит по два целых числа: u и v (1 ≤ u, v ≤ n, u ≠ v) – номера
базовых станций, соединенных этим каналом связи. Любая пара станций соединена не более, чем одним каналом.

Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите два числа: k и c – соответственно, минимальное количество
базовых станций, которые необходимо захватить для того, чтобы контролировать все каналы связи, и число способов
захватить такое количество станций так, чтобы контролировать все каналы связи.
Во второй строке выведите k чисел – номера базовых станций, соответствующих одному из способов захвата.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 3 2 3
1 2 1 2
1
2 3
3 1
5 4 1 1
1 2 1
2 1 3
1 4
1 5

Пояснение
В первом примере существует три способа захватить две станции так, чтобы контролировать все каналы связи: {1, 2},
{1, 3}, {2, 3}.

Задача №966
Трубы
(Время: 1 сек. Память: 16 Мб Сложность: 29%)
Для поддержания температуры и чистоты воды в бассейн постоянно наливают новую воду и выливают старую. Иногда
это происходит одновременно. Сотрудники бассейна составили план налива/слива воды. В плане перечислены напор
слива/налива воды и интервал времени, в которое он будет происходить. Вода может выливаться (а также наливаться)
одновременно из нескольких труб. Необходимо узнать объем воды в бассейне через заданное время T . Стоит заметить, что
вода не может выливаться из пустого бассейна.

Входные данные
В первой строке входного файла INPUT.TXT записано целое число N – количество записей в плане (1 ≤ N ≤ 1000).
Далее следует N строк, содержащих по три целых числа li, ri и vi – начало работы трубы, конец работы трубы и напор, с
которой вода поступает в бассейн (объем воды, поступающий в бассейн за единицу времени). Если напор отрицателен, то
вода вытекает из бассейна (0 ≤ li, ri, |vi| ≤ 1000, li ≤ ri). В последней строке записано целое число T – время, через которое
необходимо определить объем воды в бассейне (0 ≤ T ≤ 10000).

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу – объем воды в бассейне через время T, если изначально
бассейн пуст.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 10
0 10 1
5 10 1
10 15 -1
100
https://acmp.ru/index.asp?main=alltasks 567/591
2/29/2020 Все задачи сайта

3 15
0 10 1
2 5 10 1
10 15 -1
10
3 5
0 10 -10
3 5 10 1
10 15 1
15

Задача №967
Несложная сортировка
(Время: 1 сек. Память: 16 Мб Сложность: 25%)
Пусть x – целое положительное число, а k – натуральное число от 1 до 10. Пусть s(x, k) равно сумме цифр числа x,
представленного в системе счисления по основанию k.
Задано n чисел a1, a2, ..., an. Необходимо вычислить последовательность bi по формуле bi = s(ai, k1) • s(ai, k2), после
чего отсортировать последовательность bi по неубыванию.

Входные данные
Первая строка входного файла INPUT.TXT содержит три целых числа: n, k1, k2 (1 ≤ n ≤ 1000, 2 ≤ k1, k2 ≤ 10). Вторая
строка содержит n целых чисел: ai (1 ≤ ai ≤ 109).

Выходные данные
В выходной файл OUTPUT.TXT выведите n чисел – bi в требуемом порядке.

Примеры
№ INPUT.TXT OUTPUT.TXT
9 10 10 1 4 9 16 25 36 49 64 81
1
1 2 3 4 5 6 7 9 8
10 2 2 1 1 1 1 1 1 1 1 1 1
2
1 2 4 8 16 32 64 128 256 512

Задача №968
Строки - 4
(Время: 1 сек. Память: 16 Мб Сложность: 48%)
Определим расстояние между равными по длине строками SA и SB (обозначим d(SA, SB)) как сумму для всех 1 ≤ i ≤
|SA| кратчайших расстояний между буквами SA(i) и SB(i) в циклически замкнутом английском алфавите (т.е. после буквы
«a» идет буква «b», ..., после буквы «z» идет «a»). Например d(aba, aca) = 1, а d(aba, zbz) = 2.
Напомним, что циклическим сдвигом строки S называется строка (обозначим, как S→k) Sk+1Sk+2Sk+3 ... S|S|S1S2 ... Sk
для некоторого k, где |S| – длина строки S.
Степенью циклического расстояния между строками SA и SB (|SA| = |SB|) называется сумма:

Требуется посчитать степень циклического расстояния заданных строк SA и SB.

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

https://acmp.ru/index.asp?main=alltasks 568/591
2/29/2020 Все задачи сайта

Входной файл INPUT.TXT содержит две строки равной длины, не превышающей 105 символов. Строки состоят только
из маленьких букв английского алфавита.

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
a 1
1
b
ab 8
2
ac

Пояснение
Во втором примере все циклические сдвиги строки «ab»: «ab» и «ba», все циклические сдвиги строки «ac»: «ac» и
«ca». Искомое значение равно:
d(ab, ac) + d(ab, ca) + d(ba, ac) + d(ba, ca) = 1 + 3 + 3 + 1 = 8

Задача №969
Сверхстепень
(Время: 1 сек. Память: 16 Мб Сложность: 30%)
Назовем значение выражения 2 2n n-ой сверхстепенью числа 2. Таким образом, например, третья сверхстепень числа 2
3
равна 22 = 28 = 256.
Ваша задача – вычислить n-ую сверхстепень двойки по модулю m.

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

Входной файл INPUT.TXT содержит два целых числа: n (0 ≤ n ≤ 105) и m (2 ≤ m ≤ 104).

Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 1000 256
2 10 10 6

Задача №970
От перестановки что-то меняется ...
(Время: 1 сек. Память: 16 Мб Сложность: 9%)
Всем известно, что «от перестановки слагаемых сумма не изменяется». Однако, случается и так, что перестановка
двух чисел приводит к более интересным последствиям.
Пусть, например, заданы три числа: a1, a2, a3. Рассмотрим равенство a1+ a2= a3. Оно может быть неверным (например,
если a1= 1, a2= 4, a3= 3), однако может стать верным, если поменять некоторые числа местами (например, если поменять
местами a2 и a3, оно обратится в равенство 1 + 3 = 4).
Ваша задача – по заданным трем числам определить: можно ли их переставить так, чтобы сумма первых двух
равнялась третьему.

https://acmp.ru/index.asp?main=alltasks 569/591
2/29/2020 Все задачи сайта

Входные данные
Входной файл INPUT.TXT содержит три целых числа: a1, a2, a3 (−108 ≤ a1, a2, a3 ≤ 108).

Выходные данные
В выходной файл OUTPUT.TXT выведите слово «YES», если заданные числа можно переставить так, чтобы сумма
первых двух равнялась третьему. В противном случае выведите в выходной файл слово «NO».

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 5 2 YES
2 2 2 5 NO
3 2 2 4 YES

Задача №971
Треугольник - 4
(Время: 1 сек. Память: 16 Мб Сложность: 28%)
Пусть на плоскости введена прямоугольная декартова система координат и задан треугольник ABC: A(xA, yA), B(xB,
yB), C(xC, yC). Центром масс треугольника назовем точку с координатами ((xA+ xB+ xC)/3, (yA+ yB+ yC)/3).
Заданы координаты центра масс треугольника ABC. Необходимо найти координаты вершин треугольника ABC,
удовлетворяющие условиям:

координаты вершин целые;


координаты вершин не превосходят по модулю 109;
треугольник ABC имеет ненулевую площадь.

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

Входной файл INPUT.TXT содержит два целых числа: x и y (−109 ≤ x, y ≤ 109) – координаты центра масс треугольника.

Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите слово «YES», если искомый треугольник существует, и
слово «NO» в противном случае. Если ответ положителен, то в последующих трех строках выведите координаты вершин
искомого треугольника. Если ответ неоднозначен, выведите любой.

Пример
№ INPUT.TXT OUTPUT.TXT
9 4 YES
3 9
1
6 3
18 0

Задача №972
Задачка по геометрии
(Время: 2 сек. Память: 16 Мб Сложность: 66%)
Петя учится в третьем классе. Его учитель геометрии часто задает ему сложные домашние задания. На последнем
уроке Петя проходил окружности. Он научился рисовать окружность с помощью циркуля. Выполнив большую часть
домашнего задания, Петя столкнулся со следующей проблемой: ему дано два отрезка. Требуется провести окружность,
которая пересекла бы внутреннюю часть каждого отрезка ровно один раз. При этом окружность должна именно пересекать
внутреннюю часть каждого отрезка, не разрешается, чтобы она касалась отрезка или проходила через его конец.
Помогите Пете доделать его домашнее задание.

https://acmp.ru/index.asp?main=alltasks 570/591
2/29/2020 Все задачи сайта

Входные данные
Входной файл INPUT.TXT содержит несколько тестовых наборов (не более 2000). Каждый тестовый набор записан на
двух строках. Первая строка тестового набора содержит четыре целых числа x11, y11, x12, y12 – координаты концов первого
отрезка. Вторая строка содержит четыре целых числа x21, y21, x22, y22 – координаты концов второго отрезка. Входной файл
завершается парой строк, каждая из которых содержит по четыре нуля. Эти строки не следует обрабатывать. Координаты
не превышают 100 по модулю.

Выходные данные
В выходной файл OUTPUT.TXT для каждого тестового набора выведите три вещественных числа – координаты
центра и радиус окружности. Все числа в выходном файле не должны по модулю превышать 1010. Жюри выполняет все
сравнения вещественных чисел с точностью 10−4.

Пример
№ INPUT.TXT OUTPUT.TXT
0 0 0 4 0.5 0 2
1 0 1 4
1
0 0 0 0
0 0 0 0

Пояснение
Иллюстрация к примеру:

Задача №973
Главные дороги
(Время: 5 сек. Память: 32 Мб Сложность: 82%)
Город, в котором живет Гоша, имеет N перекрестков, некоторые из которых соединены дорогами. По каждой дороге
разрешено движение в обоих направлениях. Каждый день Гоша ездит на машине из дома на работу и обратно. Но дороги в
городе, где живет Гоша, не очень хорошие, они часто портятся, и приходится их ремонтировать. Гоша заметил, что когда
некоторые дороги закрывают на ремонт, часто он все равно может доехать из дома до работы за то же время, что в случае,
когда ни одна дорога на ремонт не закрыта. С другой стороны, встречаются дороги такие, что когда они закрываются на
ремонт, то время, которое требуется Гоше, чтобы добраться от дома до работы, увеличивается. А иногда Гоша просто не
может доехать от дома до работы на машине. Такие дороги Гоша называет главными.
Помогите Гоше найти все главные дороги в городе.

Входные данные
Первая строка входного файла INPUT.TXT содержит N и M – количество перекрестков и дорог в городе,
соответственно (2 ≤ N ≤ 20 000, 1 ≤ M ≤ 100 000). Гоша живет около перекрестка 1, а работает у перекрестка N.

https://acmp.ru/index.asp?main=alltasks 571/591
2/29/2020 Все задачи сайта

Следующие M строк содержат информацию о дорогах. Каждая дорога описывается двумя перекрестками, которые она
соединяет, и временем, которое необходимо Гоше, чтобы проехать по этой дороге от одного конца до другого. Время
проезда по дороге – натуральное число, не превышающее 100 000. Между парой перекрестков может быть несколько
дорог, но никакая дорога не соединяет перекресток с самим собой.
Гарантируется, что если все дороги доступны, Гоша может добраться от дома до работы.

Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите K – количество главных дорог. На второй строке выведите
K чисел – номера главных дорог. Дороги пронумерованы от 1 до M в том порядке, в котором они заданы во входном файле.

Пример
№ INPUT.TXT OUTPUT.TXT
6 7 2
1 2 1 5 7
2 3 1
2 5 3
1
1 3 2
3 5 1
2 4 1
5 6 2

Задача №974
Странный ним
(Время: 1 сек. Память: 16 Мб Сложность: 65%)
Алиса и Боб играют в игру, которую они называют «странный ним». На столе расположены три кучки камней,
содержащие a, b и c камней, соответственно. Алиса ходит первой.
Тот игрок, который делает ход, выбирает одну из кучек и берет из нее несколько камней. При этом должно
выполняться следующее условие: после хода каждого игрока на столе не должно быть двух кучек, содержащих равное
количество камней. Забирать все камни из кучки разрешается. Тот, кто берет последний камень, выигрывает.
Пусть, например, кучки содержат 1, 3 и 5 камней, тогда разрешены следующие ходы:

взять 1 камень из первой кучки;


взять 1 камень из второй кучки;
взять 3 камня из второй кучки;
взять 1 камень из третьей кучки;
взять 3 камня из третьей кучки;
взять 5 камней из третьей кучки.

По заданным a, b и c, определите, кто выиграет, если оба игрока играют оптимально.

Входные данные
Входной файл INPUT.TXT содержит несколько тестовых примеров (не более 1000). Каждый тестовый пример состоит
из трех целых чисел a, b и c, расположенных на одной строке (1 ≤ a, b, c ≤ 109, a ≠ b, a ≠ c, b ≠ c). Последняя строка
входного файла содержит три нуля, ее обрабатывать не требуется.

Выходные данные
В выходной файл OUTPUT.TXT для каждого тестового примера выведите, кто выиграет в игре, если оба игрока
играют оптимально.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 3 Alice wins the game.
1 1 3 5 Bob wins the game.
0 0 0
https://acmp.ru/index.asp?main=alltasks 572/591
2/29/2020 Все задачи сайта

Задача №975
Числа - 4
(Время: 1 сек. Память: 16 Мб Сложность: 71%)
Среди натуральных чисел от 1 до N требуется найти минимальное в лексикографическом порядке число, которое
делится на K.

Входные данные
Входной файл INPUT.TXT содержит несколько тестовых примеров (не более 2000). Каждый тестовый пример
расположен на одной строке и состоит из двух целых чисел N и K (1 ≤ N ≤ 1018, 1 ≤ K ≤ N). Последняя строка содержит
два нуля, их обрабатывать не требуется.

Выходные данные
В выходной файл OUTPUT.TXT для каждого тестового примера выведите одно целое число – наименьшее в
лексикографическом порядке число, не превышающее N, которое делится на K.

Пример
№ INPUT.TXT OUTPUT.TXT
2000 17 1003
2000 20 100
1
2000 22 1012
0 0

Задача №976
Сумма или произведение
(Время: 1 сек. Память: 16 Мб Сложность: 74%)
Федя недавно начал учиться математике. Он научился складывать и умножать и был немедленно потрясен фактом, что
2 + 2 = 2 x 2. Теперь он хочет найти еще примеры таких соотношений.
Петя называет набор чисел интересным, если произведение чисел из этого набора равно их сумме. Например, наборы
{2, 2}, {5}, {1, 2, 3} – интересные, а набор {2, 3} – нет.
По заданному N, Федя хочет найти количество интересных наборов, содержащих N чисел. Помогите ему! сел из этого
набора равно их сумме. Например, наборы {2, 2}, {5}, {1, 2, 3} – интересные, а набор {2, 3} – нет.

Входные данные
Первая строка входного файла INPUT.TXT содержит N (2 ≤ N ≤ 500).

Выходные данные
В выходной файл OUTPUT.TXT выведите одно число – количество интересных наборов, содержащих N чисел.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 1
2 5 3

Пояснение
Во втором примере интересные наборы следующие: {1, 1, 1, 2, 5}, {1, 1, 1, 3, 3} и {1, 1, 2, 2, 2}.

Задача №977
Поезда
https://acmp.ru/index.asp?main=alltasks 573/591
2/29/2020 Все задачи сайта

(Время: 1 сек. Память: 16 Мб Сложность: 70%)


Во Флатландии расположено N городов. Недавно король Флатландии побывал в Японии и был поражен скоростными
поездами Shinkansen, сеть которых связывает всю страну. Теперь он решил построить сеть высокоскоростных поездов во
Флатландии.
Каждый маршрут скоростного поезда будет соединять ровно два города во Флатландии. Хотя реальной необходимости
в скоростных поездах во Флатландии нет, король повелел, чтобы хотя бы одна линия скоростного поезда была в каждом
городе.
Министр транспорта Флатландии сказал королю, что существует несколько сетей маршрутов поездов,
удовлетворяющих данному свойству. Король был поражен этим фактом и попросил министра подсчитать количество
возможных сетей. Помогите ему!

Входные данные
Входной файл INPUT.TXT содержит целое число N (2 ≤ N ≤ 100).

Выходные данные
В выходной файл OUTPUT.TXT выведите количество сетей скоростных поездов, которые удовлетворяют требованиям
короля.

Пример
№ INPUT.TXT OUTPUT.TXT
1 4 41

Задача №978
Последовательность - 5
(Время: 1 сек. Память: 16 Мб Сложность: 79%)
Пусть n – натуральное число. Обозначим как an максимальное натуральное число k, такое что nk – делитель n!.
Например, a12 = 5, так как 125 = 248832 делит 12! = 479001600 (479001600/248832 = 1925), а 126 = 2985984 – не делит.

Задано число n. Найдите an.

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

Входной файл INPUT.TXT содержит натуральное число n (2 ≤ n ≤ 109).

Выходные данные
В выходной файл OUTPUT.TXT выведите единственное число an.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 12 5
2 45 10

Задача №979
Формула 001
(Время: 2 сек. Память: 32 Мб Сложность: 57%)
Мальчик Миша собирается участвовать в школьных соревнованиях по гонкам с препятствиями по версии «Формула
001». Но к любым соревнованиям необходимо готовиться. Младший брат Миши, Ральф, не так силен в гонках с
препятствиями, как его старший брат, но зато он обладает незаурядной фантазией. Он решил помочь брату и придумал
игру, играя в которую, можно существенно увеличить свой опыт в вождении гоночного автомобиля.
Игра состоит в следующем. Пусть у нас есть бесконечное игровое поле, покрытое бесконечной квадратной сеткой.
Некоторое множество узлов этой сетки отмечено. Назовем это множество S. В игре участвуют несколько игроков. У
https://acmp.ru/index.asp?main=alltasks 574/591
2/29/2020 Все задачи сайта

каждого игрока есть машина – фигура, которая может находиться только в узлах из множества S. В начале игры все
машины находятся в различных начальных узлах. Ход каждого игрока состоит в перемещении машины в некоторый узел
из множества S, возможно, тот же самый. Цель игры – добраться до определенного, финишного узла первым.
Ход происходит по следующим правилам. Пусть на предыдущем шаге машина была перемещена на вектор (X, Y)
(если это первый шаг, то X=0 и Y=0). Тогда за один текущий ход машину можно передвинуть на один из следующих
векторов: (X−1, Y−1), (X−1, Y), (X−1, Y+1), (X, Y−1), (X, Y), (X, Y+1), (X+1, Y−1), (X+1, Y) и (X+1, Y+1).
Конечно, на какой-либо из этих векторов машину переместить можно только при том условии, что после этого она
попадет в узел из множества S. Если ход сделать нельзя, то игрок считается проигравшим и выбывает из игры.
Некоторое время поиграв в эту игру, Миша и Ральф занялись ее анализом. В данный момент они хотят узнать, за какое
наименьшее число ходов из стартового узла возможно попасть в финишный. Сами они эту задачу решить не смогли и
обратились за помощью к Вам. Помогите им!

Входные данные
В первой строке входного файла INPUT.TXT находится N – число элементов множества S. 2 ≤ N ≤ 1000. В
последующих N строках находятся координаты узлов из этого множества – целые числа Xi, Yi (−109 ≤ Xi, Yi ≤ 109).

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

Выходные данные
В выходной файл OUTPUT.TXT выведите -1, если добраться до финишного узла невозможно. Иначе, в первой строке
выведите минимальное требуемое число ходов K . Во второй выведите K+1 число – номера посещенных узлов в порядке
посещения. Первым узлом должен быть узел с номером 1, последним – узел с номером N .

Примеры
№ INPUT.TXT OUTPUT.TXT
3 2
0 0 1 2 3
1
0 1
0 2
3 -1
0 0
2
0 2
0 3

Задача №980
Отрезание ушей
(Время: 5 сек. Память: 64 Мб Сложность: 80%)
Рассмотрим связный неориентированный граф без петель и параллельных ребер. Будем называть число ребер,
инцидентных вершине v, ее степенью и обозначать степень вершины как deg v.
Простой путь v0−v1−...−vk, такой что deg v0 ≥ 2, deg vk ≥ 2, и для всех i от 1 до k−1 выполнено deg vi = 2, называется
ухом. В частности, если k = 1, то ребро v0−v1, соединяющее две вершины степени хотя бы 2, также образует ухо. Вершины
v0 и vk могут совпадать.

Рассмотрим ухо v0−v1−...−vk и удалим из графа все его ребра и промежуточные вершины (v1, v2, ... , vk−1) Будем
называть такую операцию отрезанием уха. Если у уха нет промежуточных вершин, то его отрезание состоит в удалении
его единственного ребра.
Ушной декомпозицией графа G называется последовательность отрезаний ушей, такая, что после каждого отрезания
граф остается связным, и после окончания процесса граф состоит из единственной вершины.
По заданному графу G найдите его ушную декомпозицию, либо установите, что у графа ее нет.

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

https://acmp.ru/index.asp?main=alltasks 575/591
2/29/2020 Все задачи сайта

Первая строка входного файла INPUT.TXT содержит n и m – количество вершин и ребер графа G, соответственно (2 ≤
n ≤ 20 000, n−1 ≤ m ≤ 100 000). Пусть вершины графа пронумерованы от 1 до n. Следующие m строк описывают ребра
графа, каждая строка содержит два числа номера вершин, соединенных соответствующим ребром. Гарантируется, что G
связен, никакие две вершины не соединены более чем одним ребром, никакое ребро не соединяет вершину саму с собой.

Выходные данные
На первой строке выходного файла OUTPUT.TXT выведите d – количество отрезаний ушей в некоторой ушной
декомпозиции графа G. Следующие d строк должны описывать отрезания. Каждое отрезание уха описывается числом k –
количеством ребер в соответствующем ухе, за которым следует k+1 число – вершины в ухе в том порядке, в котором они в
нем следуют. Если у графа отсутствует ушная декомпозиция, выведите d = −1.

Примеры
№ INPUT.TXT OUTPUT.TXT
5 8 4
1 2 1 1 4
2 3 1 3 4
3 5 2 2 4 5
1 5 1 4 1 5 3 2 1
2 4
4 1
3 4
4 5
3 2 -1
2 1 2
1 3

Задача №981
Медиана
(Время: 1 сек. Память: 16 Мб Сложность: 90%)
Булевы функции – один из центральных объектов изучения дискретной математики. Множество S булевых функций
называют полным, если любая булева функция может быть представлена в виде композиции функций из множества S.
К классическим полным системам функций относят, например, {∨, ∧, ¬} для дизъюнктивной или конъюнктивной
нормальной формы, или {⊕, ∧, 1} для полиномов Жегалкина, а также существуют полные системы, состоящие из одной
функции стрелка Пирса ↓ (not or), и штрих Шеффера ' (not and).
Большинство полных систем, которые обычно рассматриваются, содержат унарные и бинарные функции. Но есть
несколько тернарных операций, которые также представляют особый интерес. Одна из них – медиана: < xyz >, равная 0,
если хотя бы два ее аргумента равны 0, и 1 если хотя бы два ее аргумента равны 1. Медиану легко выразить через
конъюнкцию и дизъюнкцию:
< xyz > = (x ∧ y) ∨ (y ∧ z) ∨ (z ∧ x) = (x ∨ y) ∧ (y ∨ z) ∧ (z ∨ x).
Функция f(x1, x2, ... , xn) называется самодвойственной, если для любого набора переменных выполнено следующее
свойство: f(x1, x2, ... , xn) = f(x1, x2, ..., xn), где x означает not x. Пример самодвойственной функции: f(x, y, z) = x ⊕ y ⊕ z.
Функция f(x1, x2, . . . , xn) называется монотонной, если для любых двух наборов переменных x1, x2, ..., xn и y1, y2, ...,
yn, таких что xi ≤ yi для всех i, выполнено следующее свойство: f(x1, x2, ..., xn) ≤ f(y1, y2, ..., yn). Пример монотонной
функции: f(x, y, z) = x ∧ y ∧ z.
Легко проверить, что медиана является одновременно самодвойственной и монотонной. Более того, медиана
оказывается полной для класса самодвойственных монотонных функция. Это означает, что любая самодвойственная
монотонная функция может быть представлена в виде композиции медиан. Например, функция f (u, v, x, y, z) =
((u∨v∨x∨y)∧z)∨(u∧v∧x∧y) может быть представлена в виде f (u, v, x, y, z) = < uz < vz < xzy > > >.
По заданной монотонной самодвойственной функции найдите ее представление с использованием медианы.

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

https://acmp.ru/index.asp?main=alltasks 576/591
2/29/2020 Все задачи сайта

Входной файл INPUT.TXT содержит формулу самодвойственной монотонной булевой функции. В формуле
используются маленькие буквы английского алфавита в качестве переменных, а также следующие операции (в порядке
приоритета при вычислении): «!» для not, «&» для and, «|» для or. Скобки как обычно используются для изменения
приоритета операций. В формуле используется не более 5 переменных. Длина формулы не превышает 250 символов.

Выходные данные
В выходной файл OUTPUT.TXT выведите представление функции из входного файла с использованием медианы. Не
выводите пробелов. Ваша формула должна содержать не более 50 000 символов.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 x&y|y&z|x&z <xyz>
2 x x
3 ((u|v|x|y)&z)|(u&v&x&y) <uz<vz<xzy>>>

Задача №982
Шашки - 3
(Время: 1 сек. Память: 16 Мб Сложность: 54%)
Сема — любитель игр на шахматной доске. Больше всего он любит играть в шашки. Сема решил написать программу,
которая будет играть в шашки. По его задумке, она будет показывать, какие шашки можно взять на данном ходу. Ваша
задача — реализовать эту функцию.
Напомним, что взять можно только по диагонали одним из четырех способов:

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

Входные данные
В первых восьми строках входного файла INPUT.TXT записаны по восемь символов из множества {«.», «B», «W»},
которые обозначают пустое поле, черную шашку и белую шашку соответственно. Во входном файле не более 12 шашек
каждого цвета. Все шашки расположены либо на черных, либо на белых полях.

Выходные данные
В выходной файл OUTPUT.TXT выдайте поля, на которых стоят шашки, которые можно взять, если ходят белые или
черные. Используйте формат вывода аналогичный примерам.
Отсортируйте поля сначала по первой координате (измеряется по вертикали), а при равенстве первых – по второй
(измеряется по горизонтали). Учитывайте, что первый символ первой строки входного файла соответствует полю (1, 1),
последний символ первой строки – полю (1, 8), первый символ последней строки – полю (8, 1), последний символ
последней строки – (8, 8).

Примеры
№ INPUT.TXT OUTPUT.TXT
1 .W.W.W.W White: 0
W.W.W.W. Black: 0
.W.W.W.W
........
........
https://acmp.ru/index.asp?main=alltasks 577/591
2/29/2020 Все задачи сайта
B.B.B.B.
.B.B.B.B
B.B.B.B.
.W.W.W.W White: 3
W.W.W.W. (5, 2), (5, 4), (7, 4)
.....W.. Black: 1
W.W...W. (4, 3)
2
.B.B....
B...B.B.
.B.B.B.B
B.B...B.

Пояснение
В первом примере никакая шашка не может брать.
Во втором примере белая шашка, стоящая на (4, 1) может взять сначала черную шашку на поле (5, 2) и,
переместившись на поле (6, 3), взять черную шашку, стоящую на поле (5, 4). Также с поля (6, 3) можно взять еще одну
черную шашку, стоящую на поле (7, 4), при этом придется двигаться другим путем. Черные же могут взять лишь белую
шашку, которая стоит на поле (4, 3).

Задача №983
Бег по эскалатору
(Время: 2 сек. Память: 16 Мб Сложность: 33%)
Пусть N человек бегут вниз по эскалатору, причем i-ый пробегает одну ступеньку за ti секунд. По технике
безопасности бега по эскалатору, на эскалаторе запрещены «обгоны», то есть если человек A в процессе бега догнал
человека B, который бежит с более низкой скоростью, то далее, до конца эскалатора, человек A бежит со скоростью
человека B. Однако ступени эскалатора таковы, что на них может помещаться несколько человек одновременно.
Ваша задача написать программу, которая поможет работникам станции рассчитать, когда закончит свой бег по
эскалатору каждый бегущий человек.

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

В первой строке входного файла INPUT.TXT записано число N (1 ≤ N ≤ 105). В следующих N строках перечислены
пары чисел ti, wi (1 ≤ ti, wi ≤ 106) – время пробега одной ступени и количество ступеней до конца эскалатора для i-го
человека. Гарантируется, что изначально всем людям осталось бежать различное число ступеней.

Выходные данные
В i-ой строке выходного файла OUTPUT.TXT выведите время в секундах, через которое i-ый человек сойдет с
эскалатора.

Пример
№ INPUT.TXT OUTPUT.TXT
3 20
2 10 33
1
3 11 33
1 12

Задача №984
Финал ACM ICPC
(Время: 2 сек. Память: 32 Мб Сложность: 36%)
Ежегодно в Санкт-Петербурге, Барнауле и некоторых городах ближнего зарубежья проходят соревнования по
программированию. Эти соревнования проходят в рамках студенческого чемпионата мира по программированию,
организованного одной из самых авторитетных ассоциаций ACM (Association for Computing Machinery). На этих

https://acmp.ru/index.asp?main=alltasks 578/591
2/29/2020 Все задачи сайта

соревнованиях проходит отбор команд с Северо-Восточного Европейского Региона NEERC (North-Eastern European
Regional Contest).
Ежегодно перед организаторами соревнований встает проблема определения команд, которые будут приглашены к
участию в финале чемпионата мира по программированию. По новым правилам в финал проходят не более N команд,
представляющих NEERC. Кроме этого, от одного университета не могут проходить более K команд. При этом из всех
таких множеств выбирается то, в котором сумма мест, занятых этими командами в полуфинальных соревнованиях
минимально возможная.
Ваша задача по итоговому протоколу полуфинальных соревнований и числам N и K определить, какие команды будут
приглашены к участию в финале чемпионата мира.

Входные данные
В первой строке входного файла INPUT.TXT находится три натуральных числа: P – количество команд, принявших
участие в полуфинале, N и K (N, K ≤ P ≤ 105).
В следующих P строках, по одному в строке перечислены названия университетов, команды которых заняли
соответствующие места. Название университета содержит строчные и прописные английские буквы и пробелы. Длина
названия университета не превышает 30 символов. В следующей строке перечислены номера команд соответствующих
университетов. Таким образом, если название университета записано в i-ой строке (2 ≤ i ≤ P+1), то эта команда заняла i-1
место на полуфинале и имеет номер, записанный на i-1 месте в P+2 строке.

Выходные данные
В выходной файл OUTPUT.TXT выведите названия команд, приглашенных к участию в финале чемпионата мира по
программированию, упорядоченных по месту, занятому на полуфинале. В качестве названия команды выведите название
университета и через пробел «#ID», где ID – номер команды.

Пример
№ INPUT.TXT OUTPUT.TXT
9 5 2 Fantasy University #1
Fantasy University Crazy University #1
Crazy University Fantasy University #2
Fantasy University Very Good U #2
Fantasy University Good U #1
1 Very Good U
Good U
Very Good U
Crazy University
Good U
1 1 2 3 2 1 1 2 2

Задача №985
Объявление массивов
(Время: 2 сек. Память: 16 Мб Сложность: 47%)
В языке Java для удобства работы любой объявленный массив является объектом, который содержит некоторую
вспомогательную информацию и собственно сам массив.
Рассмотрим внутреннюю структуру такого объекта. В нем содержится 16 байт вспомогательной информации, 4 байта
уходит на хранение длины массива, а затем сам массив, который занимает length*size памяти, где length – это его длина, а
size – размер объектов хранящихся в массиве.
Если мы объявляем в программе двухмерный массив, то у нас создастся объект, который будет содержать в себе
массив, каждый элемент которого будет являться одномерным массивом. Так же не следует забывать, что на каждый
объект создается внешняя ссылка размером 4 байта.
Аналогично, при объявлении массивов размерности k будет создан массив, каждым элементом которого является
массив размерности k−1.
Ваша задача – по данным о размерах примитивных типов, из которых состоят массивы, выяснить, сколько памяти
занимает каждый из заданных массивов.

https://acmp.ru/index.asp?main=alltasks 579/591
2/29/2020 Все задачи сайта

Входные данные
В первой строке входного файла INPUT.TXT содержится количество различных примитивных типов N (1 ≤ N ≤ 100).
В следующих N строках содержатся названия примитивных типов, состоящие из маленьких английских букв, длиной не
более 30 символов, и через пробел размер типа в байтах. Размеры типов не превосходят 231−1 байт. Следующая строка
содержит число объявленных массивов M (1 ≤ M ≤ 1000). В следующих M строках содержатся описания массивов в
формате «type name[number1] ... [numberk];», где type – один из примитивных типов, описанных выше, name – имя массива,
состоящее из маленьких английских букв, длиной не более 30 символов, 1 ≤ numberi ≤ 1000. Размерность массива не
превышает 50.

Выходные данные
В выходной файл OUTPUT.TXT выведите в M строках информацию об объеме памяти в байтах, занимаемым каждым
из массивов, согласно последовательности, определенной во входных данных.

Пример
№ INPUT.TXT OUTPUT.TXT
4 25
byte 1 184
short 2 42424
int 4 1440
long 8
1
4
byte a[1];
short b[2][2][2];
int c[100][100];
long a[177];

Пояснение
Первый массив занимает 4 байта на внешнюю ссылку, 16 вспомогательных байт, 4 байта на хранение длины массива и
1 байт на сам массив. Итого 25 байт.
Третий массив занимает 4 байта на внешнюю ссылку, 16 вспомогательных байт, 4 байта на хранение длины массива и
100*size байт на массив, где size – размер одномерного массива из 100 чисел типа int. В данном случае size = 4 + 16 + 4 +
4*100. Итого 42424 байт.

Задача №986
Прыгучее путешествие
(Время: 2 сек. Память: 16 Мб Сложность: 24%)
Кузнечик Тёма очень любит прыгать по полянке, на которой он живет. Но однажды беда обрушилась на его голову. На
его полянке поселилась злобная лягушка, которая была бы не против полакомиться кузнечиком Тёмой. Однако Тёма решил
не унывать и все-таки продолжать прыгать и резвиться на полянке. Однако теперь ему надо делать это весьма осторожно.
Для этого он хочет составить план своего путешествия.
Тёма хочет посетить точки A1=(x1, y1), A2=(x2, y2), ..., An=(xn, yn) (можно считать, что изначально он находится в
точке A1, затем прыгает в точку A2, потом в A3 и т.д.). Так же ему известно, что лягушка живет в точке B=(x, y) и имеет
длину языка L. Таким образом, если после приземления Тёма оказывается на расстоянии не более L от точки B, то лягушка
его съест, то есть лягушка может съесть Тёму только, когда он находится на земле. Во время полета съесть Тёму лягушка
не может.
Ваша задача помочь Тёме определить, будет ли он съеден лягушкой или нет.

Входные данные
В первой строке входного файла INPUT.TXT записано целое число N (1 ≤ N ≤ 105), координаты точки B и число L (0 ≤
L ≤ 5000). В следующих N строках записаны координаты точек Ai. Все координаты – это целые числа по модулю не
превосходящие 104 .

https://acmp.ru/index.asp?main=alltasks 580/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT выведите «Yes», если кузнечик успешно завершит свое путешествие в точке An и не
будет съеден в ней. Иначе выведите номер точки, после приземления в которую Тёму съест лягушка. Если Тёма может
быть съеден лягушкой в нескольких точках, выведите точку, заданную раньше во входном файле (лягушка, разумеется,
использует свой первый шанс, чтобы съесть кузнечика).

Примеры
№ INPUT.TXT OUTPUT.TXT
3 0 0 1 3
2 0
1
1 1
0 1
2 0 0 100 1
2 1 1
2 2
3 0 0 1 Yes
1 1
3
2 2
3 3

Задача №987
Обмен пакетами
(Время: 1 сек. Память: 16 Мб Сложность: 32%)
Вася получает доступ в Интернет с помощью мобильного телефона. Однако такая связь очень нестабильна, поэтому
каждый раз после подключения ему приходиться проверять подключение. Для этого он просто в командной строке
набирает примерно следующую фразу: «ping name», где name – это имя удаленного сервера, который точно находится в
сети. Затем идет обмен пакетами с сервером и выдается статистика. Однако у Васи недавно сломался модуль, отвечающий
за подсчет и вывод статистики. Вам надо будет помочь Васе – написать аналогичный модуль.
После вызова команды «ping» на удаленный сервер по очереди посылаются 4 пакета по 32 байта. Как только
удаленный сервер получил пакет, он отвечает на него. Если пакет не уложился в определенное время (он должен дойти до
удаленного сервера и вернуться обратно) в силу тех или иных причин (низкая скорость, отсутствие подключения и т.д.), он
считается утерянным.
Дана информация обо всех 4 пакетах. Требуется определить количество потерянных пакетов, максимальное,
минимальное и среднее время обмена одного пакета.

Входные данные
Входной файл INPUT.TXT содержит ровно 5 строк. В первой строке находится фраза «ping name», где name – это имя
сервера. Имя сервера представляет собой IP адрес. IP-адрес – это 4 однобайтных числа (т.е. числа от 0 до 255), отделенные
друг от друга точкой. В каждой из следующих 4 строк содержится либо фраза «Time out», если пакет считается утерянным,
либо «Reply from name Time=number», где name – это имя удаленного сервера, а number – время за которое вернулся пакет
(number – целое число, 0 ≤ number ≤ 104).

Выходные данные
В выходной файл OUTPUT.TXT выведите статистику по обмену пакетами с удаленным сервером. Следуйте формату,
приведенному в примере. Среднее время округлите до целого числа по математическим правилам. Если все 4 пакета
утеряны, то выведите только первые две строки.

Пример
№ INPUT.TXT OUTPUT.TXT
1 ping 209.85.135.147 Ping statistics for 209.85.135.147:
Time out Packets: Sent = 4 Received = 3 Lost = 1 (25%
Reply from 209.85.135.147 loss)
Time=100

https://acmp.ru/index.asp?main=alltasks 581/591
2/29/2020 Все задачи сайта
Reply from 209.85.135.147 Approximate round trip times:
Time=300 Minimum = 100 Maximum = 300 Average = 200
Reply from 209.85.135.147
Time=200

Задача №988
Последовательность чисел
(Время: 1 сек. Память: 16 Мб Сложность: 42%)
Рассмотрим рекуррентно заданную последовательность чисел Si:

1. S1 = 1
2. Si = Si−1, i, Si−1 для i ≥ 2.

Ваша задача написать программу, которая будет находить число, стоящее на k-ой позиции в последовательности Sp.

Входные данные
В первой строке входного файла INPUT.TXT записано число тестов T, (1 ≤ T ≤ 103). В следующих T строках записаны
пары чисел ki, pi, (1 ≤ ki, pi ≤ 263−1, 1 ≤ i ≤ T ).

Выходные данные
В выходной файл OUTPUT.TXT выведите для каждого теста значение ki-го элемента последовательности Spi, если
такого элемента нет, выведите «No solution» без кавычек.

Пример
№ INPUT.TXT OUTPUT.TXT
4 1
1 1 No solution
1 2 1 1
1 2 2
2 2

Задача №989
Окопы
(Время: 1 сек. Память: 16 Мб Сложность: 64%)
Однажды Андрей и Петя решили пострелять друг в друга из пистолетов. Нет, конечно, не из настоящих, а из
игрушечных. Для того, чтобы игра стала еще более интересной, каждый из них вырыл себе окоп. Окоп представляет собой
отрезок, соединяющий две точки. Известно, что окопы Андрея и Пети не пересекаются, более того, они вообще не имеют
общих точек.
Теперь им предстоит выбрать «линию фронта», такую прямую, которую в процессе игры пересекать запрещается.
Только вот проблема – окопы уже вырыты, а ребята не могут сообразить, как им провести линию, так чтобы окопы
оказались по разные стороны от нее и не имели общих точек с ней. Так как рытье окопов дело трудоемкое, то они
попросили помощи у Вас.

Входные данные
Входной файл INPUT.TXT содержит не более 1000 тестов. Каждый тест описывается двумя строками. Первая строка
теста содержит 4 целых числа x1, y1, x2, y2 – координаты концов отрезка, задающего первый окоп. Вторая строка теста в
аналогичном формате описывает второй окоп. Входной файл заканчивается двумя строчками, каждая из которых содержит
4 нуля. Тесты разделены пустой строкой. Все координаты не превышают 104 по абсолютной величине.

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

https://acmp.ru/index.asp?main=alltasks 582/591
2/29/2020 Все задачи сайта

В выходной файл OUTPUT.TXT выведите числа a, b, c – коэффициенты уравнения прямой ax + by + c = 0,


разделяющей окопы. Числа a, b, c должны быть целыми и не должны превышать 109 по абсолютной величине.

Пример
№ INPUT.TXT OUTPUT.TXT
0 1 1 2 1 -1 0
0 -1 1 0 1 1 0

0 1 -1 2
1
0 -1 -1 0

0 0 0 0
0 0 0 0

Задача №990
Пирожные
(Время: 2 сек. Память: 16 Мб Сложность: 76%)
Санта Клаус планирует принести подарки на новый год n ребятам. У него есть m пирожных, и он собирается подарить
каждому ребенку несколько пирожных. Однако неожиданно возникла проблема. Детям не нравится, когда кому-то
достается больше пирожных, чем ему.
Каждый ребенок характеризуется своей жадностью, жадность i-го ребенка равна gi. Если ai ребят получат больше
пирожных чем i-й, то его неудовлетворенность будет равна gi∙ai.
Теперь у Санты проблема: надо поделить пирожные между ребятами так, чтобы суммарная неудовлетворенность была
минимальна. Каждый ребенок должен получить хотя бы одно пирожное. Санта собирается раздать все m пирожных.
Помогите ему распределить их между ребятами!

Входные данные
Первая строка входного файла INPUT.TXT содержит числа n и m (1 ≤ n ≤ 30, n ≤ m ≤ 5000). Вторая строка содержит n
целых чисел g1, g2, ..., gn (1 ≤ gi ≤ 107).

Выходные данные
На первой строке выходного файла OUTPUT.TXT выведите минимально возможную суммарную
неудовлетворенность. Вторая строка должна содержать n целых чисел: сколько пирожных следует дать каждому ребенку.
Если решений несколько, то выведите любое.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 20 2
1
1 2 3 2 9 9
4 9 7
2
2 1 5 8 2 1 3 3

Задача №991
ePig
(Время: 2 сек. Память: 16 Мб Сложность: 50%)
Андрей и Аня разрабатывают новую P2P сеть для обмена файлами, они назвали свою сеть ePig. В этой задаче вам
предлагается смоделировать работу сети при распространении одного большого файла.
Пусть сетью пользуются n клиентов, пронумерованных от 1 до n. Исходно файл целиком доступен на клиенте номер 1.
Остальные клиенты хотели бы получить этот файл. Для оптимизации процесса файл разбивается на k идентичных
фрагментов, пронумерованных от 1 до k. Передача файла состоит из нескольких раундов. Каждый раунд занимает одну
минуту, за время раунда каждый клиент может получить ровно один фрагмент и/или передать ровно один фрагмент. После
того как клиент скачивает фрагмент файла, он может раздавать его другим клиентам.
https://acmp.ru/index.asp?main=alltasks 583/591
2/29/2020 Все задачи сайта

Перед каждым раундом каждый клиент решает, какой фрагмент он будет запрашивать. Клиент запрашивает фрагмент,
который предоставляется наименьшим числом клиентов (разумеется, кроме тех фрагментов, которые у него уже есть).
Если таких фрагментов несколько, он выбирает тот, у которого минимальный номер.
После этого клиенты делают запросы на фрагменты. Каждый клиент выбирает другого клиента, у которого он
запрашивает выбранный фрагмент. Если несколько клиентов предоставляют необходимый фрагмент, то выбирается
клиент, у которого минимальное количество предоставляемых им фрагментов. Если и таких клиентов несколько,
выбирается клиент с минимальным номером.
Каждый клиент рассматривает все запросы, которые к нему поступили, и выбирает один их них. Клиент X
удовлетворяет тот из запросов, который приходит от самого ценного клиента. Ценность клиента определяется количеством
фрагментов, которые клиент X получал от него ранее. Если имеется несколько клиентов с одинаковой ценностью, то
фрагмент отдается тому из клиентов, у которого перед раундом имеется минимальное количество фрагментов. Если и
таких клиентов несколько, то фрагмент отдается клиенту с минимальным номером.
После того, как выбрано, какие запросы будут удовлетворены, начинается раунд. Клиенты, запросы которых были
отклонены, ничего не скачивают в этот раунд, а остальные клиенты скачивают запрошенные фрагменты. После этого
начинается новый раунд, и т. д.
По заданным n и k для каждого клиента определите число раундов, которое потребуется, чтобы он получил файл
целиком.

Входные данные
Входной файл INPUT.TXT содержит два целых числа: n и k (2 ≤ n ≤ 100, 1 ≤ k ≤ 200).

Выходные данные
В выходной файл OUTPUT.TXT выведите для каждого клиента кроме первого одно число – количество раундов перед
тем, как он скачает файл целиком.

Пример
№ INPUT.TXT OUTPUT.TXT
1 3 2 3 3

Пояснение
Распространение файла в данном случае происходит следующим образом: в первом раунде клиенты 2 и 3
запрашивают фрагмент 1 от клиента 1. Удовлетворяется запрос от клиента 2. После этого клиенты 2 и 3 запрашивают
фрагмент 2 у клиента 1. Удовлетворяется клиент 3. Наконец в третьем раунде клиент 2 запрашивает фрагмент 2 у клиента
3, а клиент 3 запрашивает фрагмент 1 у клиента 2, оба запроса удовлетворяются и у каждого теперь есть целый файл.

Задача №992
Неприводимые диаграммы Юнга
(Время: 2 сек. Память: 16 Мб Сложность: 52%)
Диаграммы Юнга используются для того, чтобы изобразить разбиение числа на слагаемые. Разбиение числа n на
слагаемые представляет собой сумму вида n = m1+ m2+ . . . + mk, где m1≥ m2≥ . . . ≥ mk.
Диаграмма состоит из n квадратиков, организованных в виде k рядов, где k –количество слагаемых в разбиении. Ряд,
соответствующий числу mi, содержит mi квадратиков. Все ряды выровнены по левому краю и упорядочены от более
длинного к более короткому.
Например, диаграмма Юнга, приведенная на рисунке, соответствует разбиению 9 = 5 + 2 + 2.

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

https://acmp.ru/index.asp?main=alltasks 584/591
2/29/2020 Все задачи сайта

должен быть корректной диаграммой Юнга, верхний левый квадратик которой расположен в том же месте, что и у
исходной диаграммы (либо должна остаться пустая диаграмма).
Например, удалив последние квадратики второго и третьего ряда из приведенной выше диаграммы, мы получаем
диаграмму для разбиения 7 = 5 + 1 + 1.

Удаляя два последних квадратика первого ряда из этой исходной диаграммы, мы получаем диаграмму для разбиения 7
= 3 + 2 + 2.

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

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

Первая строка входного файла INPUT.TXT содержит число k – количество рядов в диаграмме (1 ≤ k ≤ 105). Вторая
строка содержит k целых чисел: m1, m2, ..., mk. Сумма n = m1+ m2+ . . . + mk не превышает 108.

Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите число l – количество неприводимых диаграмм Юнга, к
которым можно преобразовать заданную. Следующие l строк должны описывать эти диаграммы. Каждая строка должна
начинаться с числа t – количества рядов в соответствующей диаграмме.
Далее должно следовать t чисел – количество квадратиков в соответствующих рядах.

Примеры
№ INPUT.TXT OUTPUT.TXT
3 1
1
5 2 2 1 1
1 1
2
2 0

Задача №993
Симпатичные последовательности
(Время: 1 сек. Память: 16 Мб Сложность: 61%)
Рассмотрим последовательность a1, a2, ..., an неотрицательных целых чисел. Обозначим как ci,j количество появлений
числа i среди чисел a1, a2, ... , aj. Будем называть последовательность k-симпатичной, если для всех i1 < i2 и для всех j
выполнено условие: ci1,j ≥ ci2,j − k.

По заданной последовательности a1, a2, ..., an и числу k, найдите ее максимальный префикс, который является k-
симпатичным.

Входные данные
Первая строка входного файла INPUT.TXT содержит числа n и k (1 ≤ n ≤ 200 000, 0 ≤ k ≤ 200 000). Вторая строка
содержит n целых чисел в диапазоне от 0 до n.
https://acmp.ru/index.asp?main=alltasks 585/591
2/29/2020 Все задачи сайта

Выходные данные
В выходной файл OUTPUT.TXT выведите максимальное l такое, что последовательность a1, a2, ..., al является k-
симпатичной.

Примеры
№ INPUT.TXT OUTPUT.TXT
10 1 8
1
0 1 1 0 2 2 1 2 2 3
2 0 0
2
1 0

Задача №994
Длиннейшая общая подпара
(Время: 2 сек. Память: 64 Мб Сложность: 48%)
Будем называть пару строк (α, β) подпарой строки γ, если γ = γ1αγ2βγ3 для некоторых (возможно пустых) строк γ1, γ2 и
γ3. Длиной пары строк будем называть сумму длин составляющих ее строк: |(α, β)| = |α| + |β|.

По заданным двум строкам ξ и η найдите их длиннейшую общую подпару, то есть такую пару строк (α, β), что она
является подпарой как ξ, так и η, и ее длина максимальна.

Входные данные
Входной файл INPUT.TXT содержит две непустые строки ξ и η, состоящие из маленьких букв английского алфавита.
Длина каждой из строк не превышает 2000.

Выходные данные
В выходной файл OUTPUT.TXT выведите α на первой строке выходного файла и β на второй строке.

Примеры
№ INPUT.TXT OUTPUT.TXT
abacabadabacaba acaba
1
acabacadacabaca abaca
ab b
2
bc

Задача №995
Голова на плечах
(Время: 3 сек. Память: 16 Мб Сложность: 59%)
Изготовитель всемирно известного шампуня, компания «Голова на плечах» всерьез заботится о качестве своей
продукции. В частности, она постоянно улучшает различные показатели своего шампуня, с целью чего постоянно
проводит исследования. Но, согласно законодательству, на человеке проводить исследования нельзя, а проводить
исследования на животных компания считает ниже своего достоинства. Поэтому ученые, работающие в компании,
разработали математическую модель человека и проводят исследования на ней.
Человек, согласно этой модели, состоит из головы и плеч. Голова представляет собой окружность с центром в точке
(0,0) и радиусом R, а плечи бесконечную прямую y = −K, где R < K.
Объектом изучения исследователей являются волосы. Каждый волос в данной модели представлен отрезком,
начинающимся на голове (строго на окружности) и заканчивающимся на плечах (строго на прямой). При этом ни один
волос не имеет с окружностью головы более одной общей точки. В данный момент ученые озабочены проблемой
секущихся волос. Пара волос называется секущейся, если соответствующие этим волосам отрезки имеют общую точку.
Дана математическая модель человека. Найдите количество секущихся пар волос.

Входные данные
https://acmp.ru/index.asp?main=alltasks 586/591
2/29/2020 Все задачи сайта

В первой строке входного файла заданы два целых числа R, K (1 ≤ R < K ≤ 103). Во второй строке записано целое
число N (0 ≤ N ≤ 105) количество волос в модели человека. В следующих N строках находится по 4 вещественных числа
Xh, Yh, Xs, Ys – координаты начала и конца очередного волоса. Первая пара чисел соответствует концу, лежащему на
окружности головы, вторая пара соответствует концу, лежащему на плечах.
Гарантируется, что никакой волос не имеет с окружностью головы более одной общей точки. Также гарантируется,
что среди начальных и конечных точек нет одинаковых.

Выходные данные
В выходной файл OUTPUT.TXT выведите число секущихся пар волос.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 2 1
3
1 0 -1 -2 -2
1 0 2 -2
-1 0 -1 -2
1 10 0
3
2 -1 0 -1 -10
0 -1 0 -10
1 0 1 -10

Задача №996
Забавная последовательность
(Время: 1 сек. Память: 16 Мб Сложность: 26%)
Определим последовательность ai следующим образом: a1 = 1, an = an-1+ 3, если число n уже встречалось в
последовательности a, и an = an-1 + 2, иначе. Нетрудно видеть, что первые 8 членов этой последовательности таковы: 1, 3,
6, 8, 10, 13, 15, 18.
Ваша задача вычислить an.

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

Входной файл INPUT.TXT содержит целое число n (1 ≤ n ≤ 105).

Выходные данные
В выходной файл OUTPUT.TXT выведите an.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1
2 8 18

Задача №997
Проверка орфографии - 2
(Время: 1 сек. Память: 16 Мб Сложность: 39%)
Время от времени каждому школьнику, изучающему английский язык, приходится сдавать учителю сочинение на
английском языке. Учителя английского языка бывают разные. Когда школьник использует в сочинении слова, которые на
уроках еще не проходили, одни восхищаются юным талантом, другие багровеют от злости и ставят двойку непослушному
ученику, осмелившемуся кичиться своими знаниями.

https://acmp.ru/index.asp?main=alltasks 587/591
2/29/2020 Все задачи сайта

К сожалению, Ваша учительница из других. Она не потерпит ни малейшего отступления от использования словарного
запаса. В этот раз еще одна беда обрушилась на Вашу голову. Сочинение, заданное на завтра контрольное сочинение по
выученным словам. А это значит, что все слова, которые Вы выучили на уроках, должны присутствовать в сочинении хотя
бы по одному разу.
Таким образом, перед сдачей сочинения Вам необходимо проверить, что каждое слово в тексте сочинения встречается
в словаре, и каждое слово из словаря встречается в тексте.

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

В первой строке входного файла INPUT.TXT находится два числа N и M (1 ≤ N ≤ 103, 1 ≤ M ≤ 105). В следующих N
строках находится по одному слову из словаря. Все слова состоят из строчных английских букв. Длина каждого слова не
превышает 20. Каждое слово состоит хотя бы из одного символа. Лишних пробелов перед словом и после него нет.
В следующих M строках находится текст сочинения. Текст состоит из заглавных и строчных английских букв,
пробелов и знаков препинания: точек (.), запятых (,), двоеточий (:), точек с запятыми (;), тире (-), апострофов ('), кавычек
("), восклицательных (!) и вопросительных (?) знаков.

Общая длина текста не превосходит 104 символов. В данной задаче большие и маленькие буквы в словах не
различаются.

Выходные данные
В выходной файл OUTPUT.TXT выведите «Everything is going to be OK.», если с сочинением все в порядке. Если не
все слова из текста встречаются в словаре, выведите «Some words from the text are unknown.». Если же предыдущее
неверно, но некоторые слова из словаря не встречаются в тексте, выведите «The usage of the vocabulary is not perfect.».

Примеры
№ INPUT.TXT OUTPUT.TXT
3 1 Everything is going to be OK.
am
1 bill
i
I am Bill, am I?
2 2 Some words from the text are unknown.
seven
2 day
On the
seventh day
4 1 The usage of the vocabulary is not perfect.
vocabulary
wide
3
too
much
Too wide vocabulary.

Задача №998
Велосипедные дорожки
(Время: 1 сек. Память: 16 Мб Сложность: 72%)
Андрюша живет в пригороде. Неподалеку от Андрюшиного дома проложены две велосипедные дорожки, каждая из
которых имеет вид круга с радиусом r. У дорожек нет общих точек. Андрюшин дом расположен около одной из дорожек, а
его школа расположена около другой дорожки. Каждый день Андрюша ездит в школу и обратно на велосипеде. Он
заметил, что когда он едет по дорожке, его скорость составляет u, а когда едет просто по полю, то v, причем u > v. Теперь
Андрюша хочет узнать, за какое минимальное время он сможет добраться из школы домой.
Введем систему координат таким образом, что центр дорожки, расположенной около Андрюшиного дома, находится в
точке (0, 0), а центр дорожки, где расположена его школа, находится в точке (0, d). Радиус каждой дорожки равен r.
Андрюшин дом расположен в точке (x1, y1), а его школа в точке (x2, y2). Скорость Андрюши по дороге равна u, а по полю –
v.

https://acmp.ru/index.asp?main=alltasks 588/591
2/29/2020 Все задачи сайта

Входные данные
Входной файл INPUT.TXT содержит 8 вещественных чисел: d, r, x1, y1, x2, y2, u и v (1≤ r ≤ 100, 2r < d ≤ 100, 1 ≤ v < u ≤
10, x12+ y12 = r2, x22 + (y2− d)2 = r2). Все неравенства выполнены с точностью до 10−9.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно вещественное число – минимальное время, которое Андрюше
требуется, чтобы добраться из дома до школы. Ответ следует вывести с точностью не меньше, чем 10−6.

Примеры
№ INPUT.TXT OUTPUT.TXT
20 5 16.5757337181
1 5 0 5 20
2 1
20 5 17.2040517249
2 -5 0 5 20
2 1

Пояснение к примерам

Задача №999
Диверсия
(Время: 5 сек. Память: 16 Мб Сложность: 70%)
В королевстве Далеком n городов, соединенных m двусторонними дорогами. Некоторые дороги вымощены камнем, а
другие представляют собой лишь обычные проселочные дороги. Столица королевства расположена в городе номер 1.
Дороги устроены таким образом, что можно из любого города добраться до любого другого, перемещаясь исключительно
по вымощенным камнем дорогам, причем количество каменных дорог минимальное возможное. Проселочные же дороги
были построены таким образом, что если каменная дорога заблокирована или уничтожена, то все равно можно добраться
из любого города до любого другого по дорогам.
Обозначим количество каменных дорог, по которым требуется проехать, чтобы попасть из города u в город v как s(u,
v). Дороги подчиняются следующему правилу: если два города u и v соединены дорогой (неважно, каменной или
проселочной), то либо s(1, u) + s(u, v) = s(1, v), либо s(1, v) + s(v, u) = s(1, u).
Король соседнего королевства планирует напасть на Далекое. В качестве начала операции предполагается уничтожить
некоторые дороги. Расчеты показали, что финансирования, выделенного министерству атаки, достаточно, чтобы
уничтожить ровно одну каменную и одну проселочную дорогу. Король хотел бы уничтожить такую пару дорог, чтобы
после этого хотя бы для каких-нибудь двух городов стало невозможно добраться из одного города в другой.
Теперь он просит министра атаки посчитать количество возможных диверсионных планов. Однако министр атаки
обучен только атаковать, считать для него слишком сложно. Помогите ему!

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

https://acmp.ru/index.asp?main=alltasks 589/591
2/29/2020 Все задачи сайта

Первая строка входного файла INPUT.TXT содержит n и m – количество городов и дорог, соответственно (3 ≤ n ≤ 20
000, m ≤ 100 000). Следующие m строк описывают дороги, каждая строка содержит три целых числа – номера городов,
соединенных соответствующей дорогой, и 1, если соответствующая дорога вымощена камнем, или 0, если
соответствующая дорога – проселочная. Никакие два города не соединены более чем одной дорогой, никакая дорога не
соединяет город сам с собой.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число – количество способов организовать диверсию.

Пример
№ INPUT.TXT OUTPUT.TXT
6 7 4
1 2 1
2 3 1
1 4 0
1
3 4 1
4 5 1
3 6 0
5 6 1

Задача №1000
Упаковка чисел
(Время: 1 сек. Память: 16 Мб Сложность: 65%)
При передаче данных по сети важно их эффективно кодировать, чтобы лучше использовать пропускную способность
канала. Мы опишем процедуру декодирования чисел при одном эффективном способе их кодирования. Этот способ
использует переменную длину кодов, для обеспечения единственности декодирования ни один код числа не является
префиксом кода другого числа. Вы же должны реализовать процедуру оптимального кодирования.

Метод применим для кодирования целых чисел от −263 до 263−1 (тип long в Java, int64 в Дельфи, __int64 в C++).
Упакованное число занимает от 1 до 9 байт, в зависимости от своего значения.
Декодирование происходит следующим образом. Сначала рассматривается первый байт числа. Просматривая его биты
от старшего к младшему, найдем первый ноль. Пусть q – количество просмотренных при этом единиц (если первый бит
равен 0xff, то q=8). Число q означает, сколько следующих байтов относятся к декодируемому числу. Если q=8, то эти байты
– стандартная восьмибайтная запись числа, причем старшие байты идут сначала.
В противном случае выполним следующее. Если q+2-й бит первого байта равен нулю (биты нумеруются с единицы,
сначала идет старший бит, если q=7, то рассматривается старший бит второго байта) то старшие единицы первого байта
заменяются на нули, и число дополняется нулевыми байтами до размера 8 байтов. Иначе (если соответствующий бит равен
единице) q+1-й бит (который всегда равен нулю) заменяется на единицу, число же дополняется слева байтами 0xff до
восьми байтов. В обоих случаях получается стандартная восьмибайтная запись числа, причем старшие байты идут
сначала.
Вам заданы несколько целых чисел, закодируйте каждое из них таким образом, чтобы длина закодированного числа
была минимальной возможной, и оно декодировалось в исходное число.

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

Первая строка входного файла INPUT.TXT содержит n – количество тестовых примеров (1 ≤ n ≤ 104). Следующие n
строк содержат по одному числу в интервале между -263 и 263-1 включительно.

Выходные данные
В выходной файл OUTPUT.TXT выведите n строк, каждая строка должна содержать закодированную версию
соответствующего числа, записанную как последовательность шестнадцатеричных цифр, старшие байты должны идти
сначала. Используйте строчные буквы английского алфавита.

Пример
№ INPUT.TXT OUTPUT.TXT
https://acmp.ru/index.asp?main=alltasks 590/591
2/29/2020 Все задачи сайта
1 9 00
0 01
1 02
2 03
3 8064
100 81f4
500 cf4240
1000000 7f
-1 bf9c
-100

https://acmp.ru/index.asp?main=alltasks 591/591

Вам также может понравиться