АВТ
Language: Russian
English

Remote Training on Programming

Problems Online status Contests
News FAQ E-learning
For authors:
Register  ||  Login
 
Hello, Guest! Please login or register.

1221. Mosaic

Time Limit: 1 seconds
Memory Limit:131072KB
Points:100
View Problem Statistics Submit Problem added Игорь Андрианов

Девочка Надя очень любит играть мозаикой, поэтому у неё есть множество различных вариантов мозаики. Как-то раз её младшая сестра высыпала несколько мозаик в одну кучку и как следует эту кучку перемешала, а так как отдельные элементы всех мозаик имеют одинаковый размер базового элемента (квадрат 1 × 1) и одинаковый цвет, то разделить элементы обратно стало невозможно.

Каждая мозаика укладывается в квадратную коробку с размером стороны N (2 ≤ N ≤ 5). Отдельный элемент мозаики состоит из квадратов 1 × 1, соединённых таким образом, что из любого квадрата элемента до любого другого его квадрата можно дойти, переходя через общие стороны квадратов, принадлежащих элементу. Количество квадратов в одном элементе не менее 1 и не более N 2. Кроме того, каждый элемент имеет такую форму и размеры, что взятый отдельно он помещается в пустую коробку из-под мозаики.

Надя берёт пустую коробку и выбирает K элементов (1 ≤ K ≤ N 2) таким образом, чтобы каждый из них подходил к данной коробке и, кроме того, суммарное количество квадратов у данных элементов равнялось ровно N 2. Теперь Наде остаётся лишь придумать вариант укладки элементов в коробку или понять, что это невозможно. В первом случае выбранные элементы можно считать единой мозаикой, а во втором — следует выбрать другие элементы.

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

Формат входных и выходных данных

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

Каждый элемент представлен уложенным произвольным образом в коробку из-под мозаики. Описание элемента представляет собой N строк по N символов в каждой. Символ '.' (точка) соответствует пустой клетке коробки, а символ '*' (звёздочка) — клетке элемента.

Выходные данные должны содержать описание любой допустимой укладки элементов в коробку или число 0, если укладка невозможна. Описание укладки представляет собой N строк по N разделённых пробелами чисел в каждой. Каждое число описывает номер элемента, который занимает соответствующую клетку коробки. Элементы нумеруются в порядке следования во входных данных, начиная с 1.

Примеры

Входные данные

Выходные данные

2 2

**

..

 

*.

*.

1 1

2 2

3 2

***

***

.*.

 

...

*..

*..

0

 

Условия всех задач XVI межвузовской олимпиады в одном файле


View Problem Statistics Submit Problem discussion Author/source:
Problems from Contests and Camps / Vologda Students Contests / XVI InterUni Olympiad 2013 /
1220. A - Factorial. 1221. 1222. C - Conductors 1223. D - Circles. 1224. E - Train
time generating 0.093 sec.
© Copyright VSU, AVT, Nosov D.A., Andrianov I.A.