Задачи олимпиады "Муниципальный этап ВОШ Красноярского края по информатике, 9-11 классы"
Задача A. Капитал
(Время: 1 сек. Память: 16 Мб Баллы: 100)
Представьте, что у вас A рублей. Вам предлагается увеличить эту сумму путём хитрых манипуляций и получить новую сумму размером B рублей. Но на число B накладываются ограничения: сумма его цифр должна быть равна числу A, а количество цифр в нем не должно превосходить некоторое число N.
Вам требуется максимизировать свой капитал и найти такое максимальное число B, которое возможно получить, не нарушая требований, описанных выше.
Входные данные
Единственная строка входного файл INPUT.TXT содержит два целых числа A и N – требуемая сумма цифр и максимальное количество цифр в числе B (1 ≤ A ≤ 106, 1 ≤ N ≤ 105).
Выходные данные
В выходной файл OUTPUT.TXT выведите максимальное число B, которое удовлетворяет описанным ограничениям. Если такого числа не существует, выведите -1.
Примеры
№
INPUT.TXT
OUTPUT.TXT
1
8 1
8
2
14 2
95
Задача B. Шаблон-палиндром
(Время: 1 сек. Память: 16 Мб Баллы: 100)
Шаблоном размера N назовем строку длины N, каждый из символов которой входит в множество {0, 1, ?}. Шаблоны преобразуются в строки из нулей и единиц по следующим правилам:
символы «0» и «1» могут быть преобразованы только сами в себя;
символ «?» может быть преобразован либо в «0», либо в «1»;
Палиндромом называется строка, одинаково читающаяся с обеих сторон. Например, строка «abba» является палиндромом, а строка «abc» – нет.
Необходимо найти лексикографически наименьшую строку, являющуюся палиндромом, в которую может быть преобразован заданный шаблон P.
Входные данные
Входной файл INPUT.TXT содержит шаблон P длиной от 1 до 1000 символов.
Выходные данные
В выходной файл OUTPUT.TXT выведите искомый палиндром. Если такой палиндром получить невозможно, выведите «NO SOLUTION» (без кавычек).
Примеры
№
INPUT.TXT
OUTPUT.TXT
1
01????0
0100010
2
010?
NO SOLUTION
Задача C. Делители
(Время: 1 сек. Память: 16 Мб Баллы: 100)
Для натурального числа N требуется найти такое целое число M (1 ≤ M ≤ N), которое имеет максимальное количество натуральных делителей.
Входные данные
Входной файл INPUT.TXT содержит единственное натуральное число N (1 ≤ N ≤ 108).
Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите искомое число M. Во второй строке выведите количество его делителей. Если существует несколько таких чисел с максимальным числом делителей, выведите любое из них.
Пример
№
INPUT.TXT
OUTPUT.TXT
1
20
12 6
Пояснение к примеру
Среди чисел от 1 до 20 максимальное число делителей (шесть) имеют числа 12, 18 и 20. Например, числа 1, 2, 3, 4, 6 и 12 являются делителями числа 12. В качестве ответа в первой строке можно вместо 12 вывести 18 или 20.
Система оценки
Решения, работающие только для N ≤ 103, будут оцениваться в 20 баллов.
Решения, работающие только для N ≤ 105, будут оцениваться в 50 баллов.
Решения, работающие только для N ≤ 106, будут оцениваться в 70 баллов.
Задача D. Сумма
(Время: 1 сек. Память: 32 Мб Баллы: 100)
Для заданного натурального числа N требуется найти количество способов разложить его в виде суммы нечетных слагаемых. При этом разбиения, отличающиеся порядком слагаемых, следует считать равными.
Входные данные
Входной файл INPUT.TXT содержит целое число N (1 ≤ N ≤ 780).
Выходные данные
В выходной файл OUTPUT.TXT выведите количество способов представления числа N в виде суммы нечетных слагаемых.
Пример
№
INPUT.TXT
OUTPUT.TXT
1
6
4
Пояснение к примеру
Есть 4 варианта разложения числа 6 на нечетные слагаемые: 1+1+1+1+1+1, 3+1+1+1, 3+3 и 5+1.
Система оценки
Решения, работающие только для N ≤ 10, будут оцениваться в 25 баллов.
Решения, работающие только для N ≤ 150, будут оцениваться в 75 баллов.
Задача E. Простой путь
(Время: 5 сек. Память: 512 Мб Баллы: 100)
Дано поле размером N×M, клетки которого раскрашены в белый и чёрный цвет. По клеткам с белым цветом можно свободно перемещаться, а по чёрным клеткам перемещение невозможно.
Требуется определить: существует ли простой путь из клетки (r1,c1) в клетку (r2,c2). Известно, что стартовая клетка всегда находится не ниже и не правее, чем конечная. Под простым путем будем понимать непрерывный маршрут от одной клетки к другой, представляющий собой ломаную с не более чем двумя изгибами. Перемещаться можно только вправо или вниз.
Входные данные
Первая строка входного файла INPUT.TXT содержит два целых числа N и M – размеры поля (1 ≤ N×M ≤ 106). В следующих N строках идет описание поля. Каждая строка состоит из нулей и единиц и имеет длину M. Единица в r-й строке на c-й позиции означает, что в клетке с координатами (r,c) находится белая клетка, а ноль обозначает чёрную клетку.
В следующей строке записано целое число Q – количество запросов (1 ≤ Q ≤ 105). Каждая из следующих Q строк содержит данные запроса в формате r1 c1 r2 c2 (1 ≤ r1 ≤ r2 ≤ N, 1 ≤ c1 ≤ c2 ≤ M). Данная строка описывает маршрут из клетки (r1,c1) в клетку (r2,c2).
Выходные данные
В выходной файл OUTPUT.TXT выведите непрерывную последовательность из Q цифр, где i-я цифра равна единице, если для i-го запроса во входных данных существует простой путь, либо нулю, если простого пути нет.
Решения, работающие только для N×M ≤ 2500 и Q ≤ 50, будут оцениваться в 50 баллов.
Решения, работающие только для N×M ≤ 250 000 и Q ≤ 50 000, будут оцениваться в 80 баллов.
Задача F. Города и дороги
(Время: 1 сек. Память: 64 Мб Баллы: 100)
Известно, что в Байтландии всего N городов и нет дорог! Известно, что все города расположены в различных точках на плоскости и никакие три из них не лежат на одной прямой.
Было решено построить в стране сеть дорог так, чтобы была возможность добраться по дорогам из любого города в любой единственным образом. Каждая дорога представляет собой отрезок, соединяющий некоторую пару городов.
Был подготовлен проект, включающий описание из N-1 непересекающихся дорог. Каждая дорога задаётся парой городов и в целях секретности вместо названий городов были использованы коды – числа от 1 до N.
Однако документ, содержащий соответствие кодов городам, был утерян. Была поставлена задача: найти хоть какое-то возможное сопоставление номеров городам. К сожалению, из-за того, что пересечение дорог недопустимо, не любой вариант подходит. Это значительно усложнило задачу.
Вам требуется сопоставить числам от 1 до N города так, чтобы после реализации проекта не было пересечений дорог вне городов, которые их соединяют.
Входные данные
В первой строке входного файла INPUT.TXT содержится целое число N – количество городов в Байтландии (2 ≤ N ≤ 1500).
Далее следует N описаний городов. Описание каждого города состоит из двух строк. Первая строка содержит название города – строку, состоящую из символов с ASCII-кодами от 33 до 127. Названия различных городов не совпадают. Названия городов имеют длину от 1 до 60 символов. Вторая строка описания города содержит два целых числа x и y – координаты города. Координаты не превышают 104 по абсолютной величине. Гарантируется, что никакие три города не лежат на одной прямой.
Далее следуют N-1 строк, которые описывают проект постройки сети дорог в его текущем состоянии. Каждая строка содержит по два целых числа от 1 до N – номера городов, соединённых дорогой в проекте. Никакая дорога в проекте не соединяет город сам с собой, никакие два города не соединены более чем одной дорогой. В проекте упомянуты все города от 1 до N. По дорогам проекта можно добраться от любого города до любого другого.
Выходные данные
В выходной файл OUTPUT.TXT выведите N строк, i-я из этих строк должна содержать название города, который следует сопоставить числу i в проекте. Если решений несколько, выведите любое.
Если решения не существует, выведите «No solution».