#1505. [L3-3] 网格填色

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:Special Judge
上传者: minstdfx0v0

题目描述

九条可怜有一个 22nn 列的网格,行从上到下编号为 1122,列从左到右编号为 11nn。网格中的某些单元格已经被着色,你需要为剩下的单元格进行着色(已经着色的单元格不能重新着色),使得相同颜色的四连通块数量最小化。请构造一个满足要求的着色方案。

四连通块的定义:如果两个同色单元格共享一个公共边,则认为这两个单元格是连通的。

输入格式

第一行包含一个整数 nn

第二行包含 nn 个整数 a1,1,a1,2,,a1,na_{1,1}, a_{1,2}, \dots, a_{1,n},表示网格第一行每个单元格的颜色。

第三行包含 nn 个整数 a2,1,a2,2,,a2,na_{2,1}, a_{2,2}, \dots, a_{2,n},表示网格第二行每个单元格的颜色。

如果 ai,j=0a_{i,j} = 0,表示该单元格尚未着色;如果 ai,j0a_{i,j} \neq 0,表示该单元格已经被着色为颜色 ai,ja_{i,j}。保证至少有一个单元格已被着色。

输出格式

输出两行,每行包含 nn 个正整数 bi,jb_{i,j} (1bi,j2n)(1 \le b_{i,j} \le 2n),表示一种合法的着色方案。

输出需保证:

  • 已经着色的单元格不能重新着色,即如果 ai,j0a_{i,j} \neq 0,则必须有 bi,j=ai,jb_{i,j} = a_{i,j}
  • 如果存在多种合法方案,输出其中任意一种。

样例

样例输入 1
5
1 0 1 0 2
3 3 2 0 4
样例输出 1
1 1 1 2 2
3 3 2 2 4
样例输入 2
6
1 0 2 0 0 0
3 0 0 0 4 1
样例输出 2
1 1 2 1 1 1
3 1 1 1 4 1

数据范围与提示

1n105,0ai,j2n1 \le n \le 10^5,0 \le a_{i,j} \le 2n。保证存在一组 i,ji,j 使得 ai,j0a_{i,j}\neq 0