Петька подарил Анке на день рождения интересную головоломку, которую
он сам изготовил из дерева. Головоломка состоит из шести плоских квадратов
размером 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, Четвертьфинал Восточного подрегиона