Марсианские кассовые аппараты распечатывают коды товаров на чеках в виде
строки, состоящей из цифр от '0' до '9' и заглавных латинских букв
от 'A' до 'F'. Все коды имеют длину N символов.
Каждый символ выводится в виде матрицы размером 5 × 7 позиций,
некоторые из которых закрашиваются при печати.
Символы отделяются друг от друга вертикальным рядом неокрашенных позиций.
Матрицы для всех используемых символов приведены ниже
('.' (точка) обозначает неокрашенную, а '#' — закрашенную позицию):
0
.###.
#...#
#..##
#.#.#
##..#
#...#
.###.
1
...##
..#.#
.#..#
#...#
....#
....#
....#
2
.###.
#...#
....#
...#.
..#..
.#...
#####
3
.###.
#...#
....#
.###.
....#
#...#
.###.
4
#...#
#...#
#...#
#...#
.####
....#
....#
5
#####
#....
#....
####.
....#
#...#
.###.
6
.###.
#...#
#....
####.
#...#
#...#
.###.
7
#####
....#
....#
...#.
..#..
.#...
#....
8
.###.
#...#
#...#
.###.
#...#
#...#
.###.
9
.###.
#...#
#...#
.####
....#
#...#
.###.
A
..#..
.#.#.
#...#
#...#
#####
#...#
#...#
B
####.
#...#
#...#
####.
#...#
#...#
####.
C
.###.
#...#
#....
#....
#....
#...#
.###.
D
###..
#..#.
#...#
#...#
#...#
#..#.
###..
E
#####
#....
#....
####.
#....
#....
#####
F
#####
#....
#....
####.
#....
#....
#....
Однажды марсианский кассовый аппарат сломался,
и распечатал один из чеков поверх другого.
В результате изображения товарных кодов перекрылись, так что
в каждом выведенном символе оказались закрашены точки,
соответствующие символам как первого, так и второго кода.
Ваша программа должна восстановить по полученному изображению
две исходные строки товарного кода или определить, что это
изображение не могло быть получено перекрытием двух товарных кодов.
Рекомендуется рассмотреть частичные решения
N = 1
Формат входного файла
Входной файл состоит из 7 строк по 6 × N − 1 символов каждая —
изображение перекрывающихся товарных кодов.
Формат выходного файла
Выходной файл должен содержать две строки длиной по N символов —
восстановленные коды товаров.
Если решения не существует, вывести единственную строку IMPOSSIBLE.
Если решений несколько, вывести любое из них.
Многие вузы переходят на рейтинговую систему оценки:
оценки студентов зависят от того, как они сдают задания в течение всего семестра.
Для каждого задания устанавливается срок сдачи, позже которого задание не принимается.
Один студент получил N заданий утром дня с номером 1.
Студенту потребуется ровно Li дней, чтобы выполнить задание с номером i.
Если студент берётся за какое-либо задание, то он
ни на что не будет отвлекаться, пока его не выполнит.
Начав работать над заданием в день с номером x,
студент закончит и сдаст его в день с номером x + Li − 1.
Силы взяться за новое задание будут у него только на следующий день.
Задание с номером i не будет принято, если оно будет сдано позже, чем в день с номером Di.
Рейтинг студента увеличится на Ri баллов после сдачи задания с номером i.
Студент хочет, чтобы его рейтинг стал как можно выше. Напишите программу, которая,
получив информацию о заданиях, определит, какие задания и в каком порядке должен
выполнять студент, чтобы максимально повысить свой рейтинг.
Рекомендуется рассмотреть частичные решения
N ≤ 2
L1 = L2 = … = LN = 1
D1 = D2 = … = DN
Формат входного файла
Входной файл содержит целое число N, за которым следует
N троек целых чисел LiDiRi — информация о заданиях.
Формат выходного файла
Программа должна вывести в выходной файл максимальное количество баллов,
которое может заработать студент, а затем — описания заданий, которые ему нужно для этого
выполнить.
Каждое описание состоит из чисел kisi — порядкового номера задания и номера дня, когда
студенту нужно начать его выполнение. Все ki должны быть различны.
Задания должны быть выведены в порядке возрастания si.
Если студент не сможет заработать ни одного балла, вывести единственное число 0.
Если существует несколько способов заработать максимальное количество баллов, вывести любой из них.
Кондитерская фабрика изготовила партию конфет N различных сортов.
В партию входит ai конфет i-го сорта.
Конфеты упаковываются в коробки двух видов: обычные и ассорти.
В каждой из обычных коробок после упаковки должно оказаться ровно M конфет
какого-нибудь одного сорта, а в каждой коробке ассорти — ровно N конфет,
по одной каждого сорта.
Требуется определить максимально возможное значение M.
Например, если изготовлено 15, 19 и 55 конфет трёх разных сортов, то
их следует упаковывать в обычные коробки по 4 штуки,
после чего останутся конфеты для 3 коробок ассорти.
Рекомендуется рассмотреть частичные решения
N = 2
Формат входного файла
Входной файл содержит целое число N, за которым следуют N целых чисел ai.
Формат выходного файла
В выходном файле должно содержаться единственное число — максимальное значение M.
Бесконечная лестница на плоскости задана ломаной, состоящей
из чередующихся горизонтальных отрезков длиной H и вертикальных отрезков длиной V.
Точка (0, 0) является левой вершиной одного из горизонтальных и верхней вершиной
одного из вертикальных отрезков.
Прямая на плоскости задана координатами двух различных точек на ней
(x1, y1) и (x2, y2).
Требуется подсчитать число точек на плоскости,
принадлежащих как прямой, так и ломаной,
либо определить, что таких точек бесконечно много.
Рекомендуется рассмотреть частичные решения
x1 = x2
y1 = y2
Формат входного файла
Входной файл содержит целые числа HVx1y1x2y2.
Формат выходного файла
В выходном файле должно содержаться единственное число — количество общих точек,
либо − 1, если общих точек бесконечно много.