ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

NEERC 2010, Четвертьфинал Восточного подрегиона

Описание     Задачи     Отправить на проверку     Состояние проверки     Результаты
Соревнование завершено

C. Кубик-головоломка

Ограничение времени: 1.0 секунды
Ограничение памяти: 64 МБ
Problem illustration
Петька подарил Анке на день рождения интересную головоломку, которую он сам изготовил из дерева. Головоломка состоит из шести плоских квадратов размером n × n. Каждый квадрат с одной стороны покрыт лаком, а с другой стороны разлинован на n2 квадратных ячеек. На некоторых ячейках стоят столбики сечением 1 × 1, каждый столбик имеет высоту не более n.
Помогите Анке собрать из этих частей покрытый лаком кубик размером n × n × n или определите, что этого сделать нельзя. Составные части головоломки можно поворачивать произвольным образом.

Исходные данные

В первой строке записано целое число n (2 ≤ n ≤ 20). Далее идёт описание шести частей головоломки. Описание каждой части представляет собой n строк по n целых чисел в каждой — высоты столбиков, расположенных на этой части. Все числа в строках записаны через пробел. Высоты лежат в пределах от 0 до n. Сумма высот столбиков во всех частях равна n3.

Результат

Если собрать лакированный кубик из шести частей нельзя, выведите в единственной строке «No». В противном случае в первой строке выведите «Yes», а затем выведите описание схемы сборки кубика — n блоков по n строк по n чисел в каждой строке. Первый блок должен описывать нижний слой получившегося кубика, второй блок — слой, расположенный сразу над нижним, и так далее. Последний блок должен описывать верхний слой кубика. Первая строка описания слоя должна задавать задние кубики этого слоя, вторая — кубики, расположенные сразу перед задними, и так далее. Последняя строка описания слоя должна задавать передние кубики. Кубики во всех строках должны описываться в порядке слева направо. Каждое число должно лежать в пределах от 1 до 6 и задавать номер части головоломки, которой принадлежит соответствующая ячейка кубика (части занумерованы числами от 1 до 6 в том порядке, в котором они заданы на входе). Если возможных схем сборки кубика несколько, выведите любую.

Примеры

исходные данныерезультат
3
0 0 0
1 0 1
1 2 0
1 0 0
1 1 1
0 0 0
0 2 1
1 0 0
0 0 0
0 1 0
0 0 0
0 2 1
1 0 0
0 0 1
0 2 1
0 0 1
0 2 1
1 0 0
Yes
3 4 4
1 4 1
1 1 5
3 3 2
5 6 2
5 1 2
6 4 2
3 6 6
5 5 6
3
0 0 0
0 3 0
0 0 0
2 0 0
0 0 0
0 0 0
0 0 2
0 0 0
0 0 0
2 0 0
0 0 0
0 0 0
0 0 2
0 0 0
0 0 0
2 1 2
2 1 2
2 2 2
No
Автор задачи: Станислав Васильев
Источник задачи: NEERC 2010, Четвертьфинал Восточного подрегиона
Чтобы отправить решение этой задачи на проверку перейдите в Архив задач: 1802. Кубик-головоломка