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

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

Условие

Назовём калейдоскопом размера 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#

Задача B. Стартовая решетка

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

Условие

Марсианская федерация автогонок ввела стандарт публикации результатов квалификационных заездов. Согласно этому стандарту, стартовая решетка любого гран-при имеет вид таблицы, составленной по определенным правилам. Правила оказались слишком сложными для хозяев автодромов, и они попросили Вас написать программу для вывода этой таблицы.

В квалификационную сессию допускается N участников. На марсианских гоночных трассах каждый стартовый ряд состоит из M позиций, схема расположения которых на трассе такова:

Из-за несоответствия некоторых гоночных болидов регламенту на старт выходят лишь K ≤ N участников, при этом все они сохраняют свои стартовые позиции.

Правила публикации таблицы выглядят следующим образом:

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

Во первой строке входного файла содержатся числа K и M, в следующих 2*K строках для каждого гонщика указано имя, а затем стартовая позиция. Список отсортирован по возрастанию позиций.

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

В выходном файле должна содержаться таблица с описанием стартовой решетки по марсианским правилам.

Ограничения

1 ≤ N, M, K ≤ 100

Длина строки с именем гонщика не превосходит 100 символов.

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

Входной файл (input.txt) Выходной файл (output.txt)
1
1 1
Michael Schumacher
1
######################
#  1 starting line   #
#--------------------#
# Michael Schumacher #
######################
2
5 2
racer1
1
racer2
2
racer3
3
racer4
4
racer5
5
###################
# 1 starting line #
#--------+--------#
# racer1 |        #
#        | racer2 #
#=================#
# 2 starting line #
#--------+--------#
# racer3 |        #
#        | racer4 #
#=================#
# 3 starting line #
#--------+--------#
# racer5 |        #
#        |        #
###################
3
3 3
a
1
b
21
driver
38
############################
#     1 starting line      #
#--------+--------+--------#
#   a    |        |        #
#        |        |        #
#        |        |        #
#==========================#
#     7 starting line      #
#--------+--------+--------#
#        |        |        #
#        |        |        #
#        |        |   b    #
#==========================#
#     13 starting line     #
#--------+--------+--------#
#        |        |        #
#        | driver |        #
#        |        |        #
############################

Задача C. Вирус 10.10.10

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

Условие

В преддверии очередной «красивой» даты —— 10 октября 2010 года —— суеверные пользователи Интернета были встревожены слухами о предстоящих сбоях в работе компьютеров. Особенный вирус, который получил условное название «три десятки» (по записи круглой даты 10.10.10) вызвал активное обсуждение на сайтах и в социальных сетях.

Напомним, что дата записывается в виде число.месяц.год. Существует несколько способов записи даты в данном формате: число и месяц могут быть записаны с лидирующим нулём (если значение не превышает 9), год может быть записан либо полностью, либо в виде последних двух цифр. Например, дата 2 марта 2004 года может быть записана как 02.03.2004, 2.03.04, 02.3.2004 и т.д.

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

Будем считать дату «красивой», если найдётся такой способ записи даты, что после удаления разделяющих точек, получившаяся строка удовлетворяет хотя бы одному из следующих условий:

Требуется написать программу, которая по указанной дате определит ближайшую следующую за ней (включая её саму) «красивую» дату.

Примечание: количество дней в месяцах равно 31, 28 или 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31. Год является високосным, если его номер кратен 4 и при этом не кратен 100 либо кратен 400.

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

Входной файл содержит три целых числа — DC MC YC, обозначающих дату, где DC — день, MC — месяц, YC — год.

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

Выходной файл должен содержать три целых числа — DV MV YV, задающих ближайшую "красивую" дату, где DV — день, MV — месяц, YV — год.

Ограничения

1 ≤ DC ≤ 31, 1 ≤ MC ≤ 12, 1600 ≤ YC ≤ 9999

Входная дата корректна, т.е. день месяца не превышает количество дней в данном месяце данного года.

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

Входной файл (input.txt) Выходной файл (output.txt)
1
10 10 2010
10 10 2010
2
29 10 2010
1 11 2010
3
8 4 6579
9 7 6579

Задача D. Замки и ключи

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

Условие

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

Замок звездолёта представлен в виде матрицы 10 × 10, состоящей из символов '#' и '.'. Символ '#' соответствует заполненному пространству, '.' — пустоте.

Ключ представим также в виде аналогичной матрицы. В ключе всегда есть ось — строка, состоящая только из символов '#'. Поэтому для краткости записи инопланетянин Саша описывает ключ следующим образом:

  1. номер строки, на которой расположена ось,
  2. размеры выступов для каждой колонки над и под осью (в строках).

Замок и ключ считаются совместимыми, если при совмещении их матриц заполненные участки не перекрывают друг друга и не остаётся пустот. Необходимо узнать, совместимы ли замок и ключ.

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

Первая строка содержит число n — номер строки ключа, на которой расположена ось.

Вторая и третья строки содержат по 10 целых чисел — высота выступов над и под осью соответственно.

Последующие 10 строк содержат по 10 символов каждая — описание замка.

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

Единственная строка выходного файла должна содержать YES, если ключ и замок совместимы, или NO в противном случае.

Ограничения

1 ≤ n ≤ 10

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

Входной файл (input.txt) Выходной файл (output.txt)
1
6
2 1 5 1 2 2 1 5 1 2
0 1 2 0 3 3 0 2 1 0
##.####.##
##.####.##
##.####.##
.#.#..#.#.
..........
..........
#..#..#..#
##.#..#.##
####..####
##########
YES

Задача E. Правильная запись номера

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

Условие

Руководство российского НИИ Абсолютно Симметричных Моделей (АСМ) решило внедрить систему электронного документооборота, включающую в себя контактные данные работников. Сотрудник отдела кадров столкнулся с проблемой: система позволяет вводить телефонные номера только в международном формате, а номера в анкетах работников записаны в произвольном формате, лишь позволяющим отделить код региона от локального номера. Более того, цифры, образующие локальный номер, могут быть разделены на группы с произвольным количеством цифр в каждой.

Российский телефонный номер в международном формате выглядит следующим образом: +7␣код_региона␣локальный_номер. В зависимости от длины кода региона существует 4 допустимых варианта записи:

+7, код региона и локальный номер отделяются друг от друга пробелом (ASCII 32), цифры внутри локального номера делятся на группы символом "тире" (ASCII 45) только так, как описано выше, другие варианты, например, 1-23-45-67 и т. д. недопустимы.

Сотрудник отдела кадров НИИ АСМ просит Вас написать программу, конвертирующую телефонный номер в международный формат.

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

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

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

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

Ограничения

Каждый телефонный номер работника начинается с подстроки +7 после которой следует код региона и локальный номер. Код региона — первый блок подряд идущих цифр после +7. В качестве символов разделителя могут быть использованы пробелы (ASCII 32) и тире (ASCII 45). Код региона может быть также обрамлён круглыми скобками (ASСII 40 и ASСII 41), в этом случае символы разделителя вокруг скобок могут быть опущены.

Суммарное количество цифр в коде региона и локальном номере равно 10. Длина входной строки не превышает 25 символов.

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

Входной файл (input.txt) Выходной файл (output.txt)
1
+7 (123)456-7-890
+7 123 456-78-90
2
+7(9876)543 210
+7 9876 54-32-10
3
+7-31415 92 - 65-3
+7 31415 9-26-53

Problem F. Fireworks

Author:A. Klenin
Input file: input.txt   Time limit:1 sec
Output file: output.txt   Memory limit:256 Mb

Statement

You task is to display a firework in ASCII graphics. A firework consists of one or more explosions called breaks. Each break has an integer radius R and a level L and is displayed by '*' (ASCII 42) character at the center and 8 rays: 4 horizontal ('-', ASCII 45) and vertical ('|', ASCII 124) rays, each R + E characters long (where E is an additional parameter equal for all breaks); 4 diagonal ('/', ASCII 47 and '\', ASCII 92) rays, each R characters long. If the level of the break is greater then 1, at the end of each horizontal and vertical ray a new "child" break of radius R − 1 and level L − 1 is located. Child break has only 7 rays, because the ray in the direction leading to the "parent" break is not drawn. A firework starts from a single break. It must be output as a square of characters, having minimal size sufficient to display all the breaks. Characters not belonging to any break must be output as '.' (ASCII 46). Characters belonging to more than one break must be output as 'x' (ASCII 120).

Input file format

Input file contains integers L R E — level and radius of the initial break and the additional horizontal/vertical rays length.

Output file format

Output file must contain display of a firework.

Constraints

1 ≤ L ≤ R ≤ 10, 1 ≤ E ≤ 20

Sample tests

No. Input file (input.txt) Output file (output.txt)
1
1 1 1
..|..
.\|/.
--*--
./|\.
..|..
2
2 4 1
..........|..........
.......\..|../.......
........\.|./........
.........\|/.........
......----*----......
........./|\.........
....|.\./.|.\./.|....
.\..|..x..|..x..|../.
..\.|./.\.|./.\.|./..
...\|/...\|/...\|/...
----*-----*-----*----
.../|\.../|\.../|\...
../.|.\./.|.\./.|.\..
./..|..x..|..x..|..\.
....|./.\.|./.\.|....
.........\|/.........
......----*----......
........./|\.........
......../.|.\........
......./..|..\.......
..........|..........

0.082s 0.006s 19