Задача A. Крот и лопата

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

Условие

Прямоугольный участок земли протяжённостью Sx с запада на восток и Sy с севера на юг покрыт слоем почвы глубиной Sz. Внутри почвы, в точке с координатами (x, y, z) находится крот. (Ось x направлена c запада на восток, ось y — с юга на север, ось z — сверху вниз, точка (0, 0, 0) находится на поверхности в юго-западном углу участка).

Крот ползёт под землёй, оставляя за собой проход. Будем считать, что проход состоит из N отдельных ячеек размером 1x1x1. За единицу времени крот смещается на одну ячейку в одном из шести направлений: север, юг, запад, восток, вверх или вниз, не выходя за пределы участка. Направления обозначены буквами N, S, W, E, U, D соотвественно. Таким образом, весь путь крота можно задать строкой из N символов. На участке было выкопано T очень узких траншей глубиной Sz. Каждая траншея пересекает весь участок в направлении строго с запада на восток, от ячейки (0, yi, 0) до (Sx − 1, yi, Sz − 1).

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

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

Входной файл содержит числа Sx Sy Sz x y z N T, за которыми идут T чисел y1, y2, ... yT — координаты траншей. Все числа — целые. Последняя строка файла содержит N символов — описание маршрута крота.

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

Выходной файл должен содержать Sz * T строк по Sx символов каждая — изображение стенок траншей. Траншеи следует выводить в том же порядке, в котором они встречаются во входном файле. Каждая строка должна состоять из символов '0' (цифра ноль) и '.' (точка), обозначающих наличие и отсутствие прохода соответственно.

Ограничения

1 ≤ Sy ≤ 104

1 ≤ Sx, Sz ≤ 100

0 ≤ x ≤ Sx − 1

0 ≤ y ≤ Sy − 1

0 ≤ z ≤ Sz − 1

0 ≤ N ≤ 106

1 ≤ T ≤ 100

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

Входной файл (input.txt) Выходной файл (output.txt)
1
4 3 5  2 1 3  3 1
2
NDE
....
....
....
..0.
..00

Задача B. Рыбы и сеть

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

Условие

Рыболовная сеть состоит из N треугольных ячеек, заданных координатами вершин (x, y), (u, v), (p, q). Сеть установлена поперёк реки и полностью её перегораживает.

Косяк из F рыб разной толщины желает проплыть сквозь сеть таким образом, чтобы ни одна рыба не попалась. Предположим, что i-ая рыба имеет в наибольшем поперечном сечении форму круга диаметра di. Рыба может проскочить через определённую ячейку сети в том случае, если окружность диаметром di целиком помещается в соотвествующем треугольнике. Касания сторон треугольника разрешены. В единицу времени через данную ячейку может проплыть не более одной рыбы.

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

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

Входной файл содержит число N, за которым следует N групп по 6 чисел xi yi ui vi pi qi — координаты вершин ячеек. Далее идёт число F, за которым следует F чисел di — диаметры поперечного сечения рыб. Все числа di — вещественные, все остальные числа — целые. Координаты ячеек описывают правильную сеть, т.е. стороны ячеек не пересекаются, каждая сторона, кроме внешних, принадлежит ровно двум ячейкам.

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

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

Ограничения

1 ≤ N, F ≤ 1000

0 ≤ xi, yi, ui, vi, pi, qi ≤ 1000

0 ≤ di ≤ 1000

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

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

Задача C. Ежеминутные автобусы

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

Условие

На автобусную остановку каждую минуту подходит автобус одного из маршрутов. Диспетчерская служба собрала данные за N минут — номера маршрутов каждого автобуса.

Требуется определить максимально возможное время ожидания для пассажира, желающего уехать определённым маршрутом. Т.е. в данной последовательности номеров маршрутов нужно найти два самых удаленных числа, равных между собой. Например, для последовательности 2, 11, 2, 2, 25, 11, 25, 11 максимальное время ожидания равно 4 — для маршрута номер 11.

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

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

Все числа целые. Каждый номер маршрута встречается не менее двух раз.

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

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

Ограничения

2 ≤ i ≤ 106

1 ≤ ai ≤ 100

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

Входной файл (input.txt) Выходной файл (output.txt)
1
8
2 11 2 2 25 11 25 11
4
2
4
23 23 41 41
1

Задача D. Подстроки из одинаковых букв

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

Условие

В данной строке, состоящей из малых латинских букв, найти пару самых длинных подстрок, состоящиx из одних и тех же букв (возможно, в разном порядке).

Например, в строке twotwow это будут подстроки wotwo и otwow.

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

Входной файл содержит исходную строку.

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

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

Ограничения

Длина исходной строки находится в диапазоне от 1 до 100 символов.

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

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

0.122s 0.005s 13