Задача A. Космос для школьников

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

Условие

Два друга Игорь и Олег — ученики 8 класса. В будущем они очень хотят запустить на космическую орбиту спутник собственной разработки. Однако они опасаются, что их спутник может столкнуться с другими спутниками, летающими вокруг земли.

Учитель астрономии решил поддержать юных исследователей и выдал друзьям список существующих спутников, которые будут пролетать над городом, где живут Игорь с Олегом, в день предполагаемого запуска их спутника. Для каждого из N спутников в списке указан момент его пролёта над городом с точностью до минуты.

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

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

В первой строке входного файла содержится число N. Далее следуют N строк вида HH:MM, где HH — часы, MM — минуты.

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

Выходной файл должен содержать последовательность строк вида HH:MM - HH:MM или HH:MM — интервалы времени, в течение которых над городом нет спутников. Интервалы должны быть расположены в хронологическом порядке.

Количество интервалов должно быть минимально возможным. Например, вместо двух интервалов 00:00 - 05:30, 05:31 - 06:00 нужно вывести один интервал 00:00 - 06:00.

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

Ограничения

1 ≤ N ≤ 1440

0 ≤ H ≤ 23

0 ≤ M ≤ 59

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

Входной файл (input.txt) Выходной файл (output.txt)
1
2
10:10
10:12
00:00 - 10:09
10:11
10:13 - 23:59
2
4
10:11
10:12
10:10
10:13
00:00 - 10:09
10:14 - 23:59

Задача B. Марсианские кассы

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

Условие

Марсианские кассовые аппараты распечатывают коды товаров на чеках в виде строки, состоящей из цифр от '0' до '9' и заглавных латинских букв от 'A' до 'F'. Все коды имеют длину N символов.

Каждый символ выводится в виде матрицы размером 5 × 7 позиций, некоторые из которых закрашиваются при печати. Символы отделяются друг от друга вертикальным рядом неокрашенных позиций. Матрицы для всех используемых символов приведены ниже ('.' (точка) обозначает неокрашенную, а '#' — закрашенную позицию):

0
.###.
#...#
#..##
#.#.#
##..#
#...#
.###.
1
...##
..#.#
.#..#
#...#
....#
....#
....#
2
.###.
#...#
....#
...#.
..#..
.#...
#####
3
.###.
#...#
....#
.###.
....#
#...#
.###.
4
#...#
#...#
#...#
#...#
.####
....#
....#
5
#####
#....
#....
####.
....#
#...#
.###.
6
.###.
#...#
#....
####.
#...#
#...#
.###.
7
#####
....#
....#
...#.
..#..
.#...
#....
8
.###.
#...#
#...#
.###.
#...#
#...#
.###.
9
.###.
#...#
#...#
.####
....#
#...#
.###.
A
..#..
.#.#.
#...#
#...#
#####
#...#
#...#
B
####.
#...#
#...#
####.
#...#
#...#
####.
C
.###.
#...#
#....
#....
#....
#...#
.###.
D
###..
#..#.
#...#
#...#
#...#
#..#.
###..
E
#####
#....
#....
####.
#....
#....
#####
F
#####
#....
#....
####.
#....
#....
#....

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

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

Рекомендуется рассмотреть частичные решения

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

Входной файл состоит из 7 строк по 6 × N − 1 символов каждая — изображение перекрывающихся товарных кодов.

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

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

Ограничения

1 ≤ N ≤ 40

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

Входной файл (input.txt) Выходной файл (output.txt)
1
.###..#####
#...#.#...#
#...#.#...#
.####.####.
....#.#...#
#...#.#...#
.###..####.
9B
9F
2
.###..#####
#...#.#...#
#...###...#
.####.####.
....#.#...#
#...###...#
.###..####.
IMPOSSIBLE
3
#####...#..
#####...#..
#####...#..
#####...#..
#####...#..
#####...#..
#####...#..
IMPOSSIBLE

Задача C. Океанариум

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

Условие

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

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

Например, если в первый раз Петя увидел трёх гуппи и одного вуалехвоста, а во второй раз — четырёх вуалехвостов, то всего в аквариуме не менее 7 рыбок.

Рекомендуется рассмотреть частичные решения

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

Первая строка входного файла содержит число N. Далее следует последовательность из N описаний листков. В первой строке каждого описания содержится число рыбок Ki, в последующих Ki строках — названия рыбок.

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

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

Ограничения

1 ≤ N, Ki ≤ 50, длина названий не превосходит 255 символов.

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

Входной файл (input.txt) Выходной файл (output.txt)
1
1
2
Carassius auratus
Poecilia reticulata
2
2
3
5
Lionhead
Pompom
Pearlscale
Pearlscale
Lionhead
2
Pompom
Pompom
5
Lionhead
Lionhead
Ryukin
Pearlscale
Lionhead
8

Задача D. Калейдоскоп

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

Условие

Назовём калейдоскопом размера N ASCII-изображение, состоящее из 2 × N + 3 строк по 2 × N + 3 символа. Центральная горизонталь, центральная вертикаль, обе большие диагонали калейдоскопа должны состоять из символов '#' (ASCII 35). Восемь сегментов, на которые калейдоскоп разбивается этими четырьмя осями, должны быть заполнены латинскими буквами таким образом, чтобы изображение было симметрично относительно осей.

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

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

Первая строка входного файла содержит число N. Следующие N строк содержат 1, 2, …, N латинских букв — заданный сегмент калейдоскопа.

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

Выходной файл должен содержать 2 × N + 3 строки по 2 × N + 3 символа — получившийся калейдоскоп.

Ограничения

1 ≤ N ≤ 100

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

Входной файл (input.txt) Выходной файл (output.txt)
1
5
a
bc
def
ghij
klmno
#abdgk#kgdba#
a#cehl#lhec#a
bc#fim#mif#cb
def#jn#nj#fed
ghij#o#o#jihg
klmno###onmlk
#############
klmno###onmlk
ghij#o#o#jihg
def#jn#nj#fed
bc#fim#mif#cb
a#cehl#lhec#a
#abdgk#kgdba#

0.044s 0.005s 13