译自 POI 2014 Stage 1. 「Snake」
一条蛇充满了一个 $3\times n$ 的板,蛇的每一段从 $1$ 到 $3 \times n$ 编号。相邻的两段所在的网格有一条相邻边。例如,一只蛇可以如下图所示充满一个 $3\times 9$ 的板:
板中一部分位置的编号被擦除了,请重新还原出这只蛇的形态。
标准输入第一行一个整数 $n$,表示板的长度。
接下来三行描述这块板。第 $i$ 行共有 $n$ 个整数 $a_{ij}$($0 \le a_{ij} \le 3n$ 对于 $1 \le j \le n$)。如果 $a_{ij} \gt 0$,则 $a_{ij}$ 表示第 $i$ 行第 $j$ 列网格处蛇的编号。否则,该网格处蛇的编号未知。
向标准输出输出三行。第 $i$ 行应有 $n$ 个整数 $b_{ij}$ 对于 $1 \le j \le n$. 所有的数字应该组成一只符合条件的蛇,也就是说,应该和输入数据一致并满足题面中的要求。
保证存在至少一只符合条件的蛇。如果有多组解,任意输出一组。
对于 $15\%$ 的数据,$n \le 10$;
对于 $40\%$ 的数据,$n \le 40$;
对于 $70\%$ 的数据,$n \le 300$;
对于 $100\%$ 的数据,$1\le n\le 10^3$。
9 0 0 5 0 17 0 0 0 21 8 0 0 3 16 0 0 25 0 0 0 0 0 0 0 0 0 23
7 6 5 4 17 18 19 20 21 8 1 2 3 16 15 26 25 22 9 10 11 12 13 14 27 24 23