Задача A Следующий!

advertisement
Учебно-тренировочные сборы по информатике, Москва, школа N179 - Тур N6, 28 марта 2006 года
Задача A
Следующий!
Имя входного файла:
Имя выходного файла:
Максимальное время работы на одном тесте:
Максимальный объем используемой памяти:
input.txt
output.txt
1 секунда
64 мегабайта
Отсортируем все числа 0 до N включительно по количеству единиц в двоичном представлении. Таким образом,
4=1002 идет раньше чем 3=112, так как в двоичном представлении имеет на одну единицу меньше. В случае
одинакового количества единиц раньше идет то число, которое меньше.
Пример сортировки для N=7: 0,1,2,4,3,5,6,7.
Даны числа N и K. Требуется найти следующее после K в указанном выше порядке.
Входной файл:
В первой строке входного файла содержится число N (1 ≤ N < 10100). Вторая строка содержит число K (0 ≤ K ≤ N).
Выходной файл:
В выходной файл выведите следующее за K число. В случае, если K - последнее число, то выведите -1
Пример:
Входной файл
Выходной файл
10
8
4
12
-1
11
1
Учебно-тренировочные сборы по информатике, Москва, школа N179 - Тур N6, 28 марта 2006 года
Задача B
Периметр
Имя входного файла:
Имя выходного файла:
Максимальное время работы на одном тесте:
Максимальный объем используемой памяти:
input.txt
output.txt
1 секунда
64 мегабайта
Дано N прямоугольников. Ширина каждого прямоугольника равна 1, а их длины – это нечетные числа без
повторений, начиная с 1. Например, если N = 5, то длины прямоугольников – 1, 3, 5, 7, 9. Требуется определить,
какой минимальный периметр P может иметь фигура, сложенная из этих прямоугольников.
Прямоугольники должны лежать параллельно осям координат и не пересекаться друг с другом. Периметр фигуры
будут образовывать участки сторон прямоугольников, которые не соприкасаются со сторонами других
прямоугольников.
Входной файл:
Единственное целое число N, 1  N  4*108
Выходной файл:
Вывести одно целое число P.
Пример:
Входной файл
2
Выходной файл
10
2
Учебно-тренировочные сборы по информатике, Москва, школа N179 - Тур N6, 28 марта 2006 года
Задача C
Палиндром
Имя входного файла:
Имя выходного файла:
Максимальное время работы на одном тесте:
Максимальный объем используемой памяти:
input.txt
output.txt
1 секунда
64 мегабайта
Известно, что палиндромом называется строка, которая одинаково читается как слева направо, так и справа
налево. Например, палиндромами являются строки «A», «ABA», «ABBA», а строки «AB», «AAB», «ABAB»
палиндромами не являются.
Рассмотрим некоторую строку S, состоящую только из латинских букв A и B. Назовем запрещенными все строки
длины n, которые состоят также только из букв A и B и содержат S в качестве подстроки. Например, если
S = «AB» и n =3, то существует четыре запрещенных строки— «AAB», «ABA», «ABB» и «BAB». Остальные строки
будет называть допустимыми.
Требуется написать программу, которая для заданной строки S длиной не более пяти символов и заданного
числа n определяет количество допустимых строк длины n, которые являются палиндромами.
Входной файл:
Первая строка входного файла содержит строку S. Длина строки S не превосходит пяти. Вторая строка содержит
число n (1 ≤ n ≤ 100).
Выходной файл:
Выведите в выходной файл одно число — количество строк длины n, которые являются палиндромами и не
содержат S в качестве подстроки.
Пример:
Входной файл
Выходной файл
AB
2
3
Пояснение к примеру
В приведенном примере две искомые строки — «AAA» и «BBB».
3
Учебно-тренировочные сборы по информатике, Москва, школа N179 - Тур N6, 28 марта 2006 года
Задача D
Жадная волна
Имя входного файла:
Имя выходного файла:
Максимальное время работы на одном тесте:
Максимальный объем используемой памяти:
input.txt
output.txt
0.2 секунды
64 мегабайта
Поле размером NxM клеток заполнено целыми числами. Требуется найти на поле клетку, из которой волна,
запущенная не более чем на K итераций, покроет площадь с максимальной суммой расположенных на ней чисел.
Пример распространения волны для поля размером 5х4. Волна запущена из клетки (3, 3) и была остановлена
после трех итераций. Белые клетки – клетки, не покрытые волной, серые и черные – клетки, покрытые волной.
Клетки, покрытые волной на последней итерации, отмечены серым цветом.
1
2
3
4
1
2
3
4
1
2
3
4
1
6
7
8
1
6
7
8
1
6
7
8
9
10
11
12
9
10
11
12
9
10
11
12
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
2
0
0
1
2
0
0
1
Волна после
одной итерации
Волна после
двух итераций
Волна после
трех итераций
Входной файл:
В первой строке входного файла содержатся три целых числа через пробел N, M и K
(1 ≤ N, M ≤ 100, 1 ≤ K ≤ N + M). Следующие N строк содержат по M чисел, каждое из которых не превосходит
10000 по абсолютной величине.
Выходной файл:
Выведите четыре числа R, C, P и S, где R – номер строки, C – номер столбца, из которых следует запустить
волну, P – количество итераций распространения волны, S – максимальная сумма чисел, покрытых волной. Если
существует несколько вариантов ответа, то вывести любой, в котором число P минимально. 1 ≤ P ≤ K.
Пример:
Входной файл
Выходной файл
5
4
3
3 3 3 66
1
2
3
4
1
6
7
8
9 10 11 12
0
0
0
0
2
0
0
1
4
Download