#P9803. [NERC2018] Minegraphed

[NERC2018] Minegraphed

题目背景

翻译自 NERC 2018 M 题。

题目描述

Marika 正在制作一款名为 Minegraphed 的游戏,游戏内容是你在一个三维的矩形立方体上移动。平行六面体游戏场地的每个单元格都是空单元格或障碍单元格。你总是在一个空建筑里面,要么在最底层,要么在一个障碍的顶部。对于每次移动,你可以选择东南西北中的一项进行移动,移动的规则如下:

  • 你不能移动至矩形立方体外面。

  • 如果你面前的单元格是空的,那么你可以向前移动一格,然后向底部落下,直到你到达最底层或者一个障碍。

  • 如果你在非最顶层,你前面的单元格是一个障碍物,你上面的单元格和上面的单元格都是空的,然后你可以爬到该障碍物的顶部。

  • 其余情况,你不能进行移动。

Marika 还有一个 n×nn \times n 的二维数组 aa,你需要满足当 ai,j=1a_{i,j} = 1 时,ii 能到达 jj

请构造一种合法方案。

输入格式

第一行一个整数 n (1n9)n \ (1 \leq n \leq 9)

然后 nn 行,每行 nn 个数分别为 ai,1,a1,2,,ai,na_{i,1},a_{1,2},\ldots,a_{i,n}ai,ja_{i,j} 的含义见题目描述。

输出格式

输出第一行 x,y,zx,y,z 表示你的矩形立方体的长宽高,你需要保证 x×y×z106x \times y \times z \leq 10^6

然后 zz 层(自上向下),每层一个 x×yx \times y 的矩形,如果 mapi,jmap_{i,j}#,表示它是障碍,如果为 .,表示是通路。否则若为数字,表示对应到 nnmapi,jmap_{i,j} 的数字。

保证存在解法。

4
0 1 0 1
0 0 1 0
0 1 0 0
1 0 0 0
4 2 3
..#.
.4..
####
1#.#
..3.
#2..

提示

样例解释:

对于所有数据保证 1n91 \leq n \leq 9ai,j{0,1}a_{i,j} \in \{0, 1\}