Задача A. Разрезанная рамка

Автор:А. Кленин   Ограничение времени:4 сек
Входной файл:input.txt   Ограничение памяти:64 Мб
Выходной файл:output.txt  

Условие

Прямоугольная рамка была разрезана на N кусков. Каждый кусок может представлять собой либо отрезок прямой, либо "уголок" — два отрезка, соединённых под прямым углом.

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

Формат входного файла

Входной файл содержит число кусков N, за которым следуют N пар целых чисел ai bi, описывающих длину двух отрезков "уголка" i-го куска. Если кусок является отрезком, то ai = 0 либо bi = 0.

Формат выходного файла

Выходной файл должен содержать два положительных целых числа W H — ширину и высоту рамки, при этом W ≥ H. Если решения не существует, следует выдать число  − 1. Если решений несколько, следует выдать решение с максимальным значением W.

Ограничения

1 ≤ N ≤ 10, 0 ≤ ai, bi ≤ 100

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
10
1 1  1 1
1 0  1 0  1 0  1 0
0 2  0 2  0 2  0 2
7 1
2
5
1 1  1 1  1 1  1 1  5 0
-1

Задача B. Линейный чёрный ящик

Автор:А. Кленин   Ограничение времени:4 сек
Входной файл:input.txt   Ограничение памяти:200 Мб
Выходной файл:output.txt  

Условие

Имеется линейная функция от двух аргументов f(x, y) = ax + by + c, причём коэффициенты a, b, c неизвестны. По данным N значениям f(x1, y1) = d1, ..., f(xN, yN) = dN требуется однозначно определить значение функции f(u, v) или указать, что это невозможно.

Обратите внимание, что однозначно восстанавливать саму функцию не требуется. Гарантируется, что функция f существует.

Формат входного файла

Входной файл содержит целые числа N u v, за которыми следует N троек целых чисел xi yi di.

Формат выходного файла

Выходной файл должен содержать единственное целое число f(u, v) либо два числа 0 (ноль), если однозначное определение невозможно.

Ограничения

1 ≤ N ≤ 100, −106 ≤ xi, yi, di ≤ 106, коэффициенты a, b, c — целые

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
3 -1 -2
2 2 4  3 5 8  7 10 17
-3
  
2
1 3 4
3 4 5
5
3
2 50 60
1 -1 0  2 2 0
0 0

Задача C. Столкновение шариков

Автор:А. Кленин   Ограничение времени:4 сек
Входной файл:input.txt   Ограничение памяти:200 Мб
Выходной файл:output.txt  

Условие

По горизонтальной плоской поверхности катятся два шарика радиуса R метров каждый. В начальный момент времени шарики имеют координаты центров (x1, y1) и (x2, y2) метров, а также проекции скоростей на координатные оси (dx1, dy1) и (dx2, dy2) метров в секунду соответственно.

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

Формат входного файла

Входной файл содержит вещественные числа R x1 y1 dx1 dy1 x2 y2 dx2 dy2.

Формат выходного файла

Выходной файл должен содержать вещественное число — время до столкновения, с точностью не менее 3 значащих цифр, либо  − 1, если столкновения не произойдёт.

Ограничения

1 ≤ R ≤ 1000,  − 1000 ≤ x1, y1, dx1, dy1, x2, y2, dx2, dy2 ≤ 1000,
(x1 − x2)2 + (y1 − y2)2 > 4R2

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
1
0 0 10 0
50 0 -10 0
2.4

Задача D. Неточные подстроки

Автор:А. Кленин   Ограничение времени:4 сек
Входной файл:input.txt   Ограничение памяти:256 Мб
Выходной файл:output.txt  

Условие

Будем говорить, что строки a и b имеют k различий, если длины этих строк одинаковы, а символы в позициях с одинаковыми номерами совпадают все, кроме k штук. Например, строки ABABAC и BBABAB имеют 2 различия.

По данной строке S длиной N символов и числу k требуется найти две подстроки одинаковой длины, начинающиеся с различных позиций, и имеющие не более k различий.

Формат входного файла

Входной файл содержит в первой строке целое число k, в во второй — строку S.

Формат выходного файла

Выходной файл должен содержать целое число — длину самой длинной найденной подстроки, либо 0 (ноль), если решения не существует.

Ограничения

Строка S состоит из заглавных латинских букв.

0 ≤ k ≤ N ≤ 1000

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
1 
A
0
2
2
ABCACB
3

Задача E. Дискретный логарифм

Автор:А. Кленин, И. Лудов   Ограничение времени:3 сек
Входной файл:input.txt   Ограничение памяти:200 Мб
Выходной файл:output.txt  

Условие

Даны целые положительные числа b, a1, a2, ..., aN. Требуется вычислить значения floor(logba1), …, floor(logbaN), где floor(x) — наибольшее целое, не превосходящее x.

Формат входного файла

Входной файл содержит числа N b a1 a2 ... aN по одному числу в строке.

Формат выходного файла

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

Ограничения

1 ≤ N ≤ 1000, 2 ≤ b ≤ 100, 1 ≤ ai < 101000 (т.е. числа содержат до 1000 цифр).

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
1
2
1023
9

Задача F. Обход матрицы: обход 'змейкой'

Автор:А. Кленин   Ограничение времени:2 сек
Входной файл:input.txt   Ограничение памяти:200 Мб
Выходной файл:output.txt  

Условие

По данному числу N требуется заполнить квадратную матрицу размером NxN целыми числами от 1 до N2; следующим образом:

Формат входного файла

Входной файл содержит целое число N.

Формат выходного файла

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

Ограничения

1 ≤ N ≤ 100

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
2
1 2
4 3
2
3
1 2 3
6 5 4
7 8 9

0.419s 0.009s 27