#P10419. [蓝桥杯 2023 国 A] 01 游戏

    ID: 9961 远端评测题 1000ms 256MiB 尝试: 0 已通过: 0 难度: 4 上传者: 标签>2023深度优先搜索,DFS剪枝蓝桥杯国赛

[蓝桥杯 2023 国 A] 01 游戏

题目描述

小蓝最近玩上了 0101 游戏,这是一款带有二进制思想的棋子游戏,具体来说游戏在一个大小为 N×NN\times N 的棋盘上进行,棋盘上每个位置都需要放置一位数字 00 或者数字 11,初始情况下,棋盘上有一部分位置已经被放置好了固定的数字,玩家不可以再进行更改。玩家需要在其他所有的空白位置放置数字,并使得最终结果满足以下条件:

  1. 所有的空白位置都需要放置一个数字 0/10/1
  2. 在水平或者垂直方向上,相同的数字不可以连续出现大于两次;
  3. 每一行和每一列上,数字 00 和数字 11 的数量必须是相等的 (例如 N=4N=4,则表示每一行/列中都需要有 22002211);
  4. 每一行都是唯一的,因此每一行都不会和另一行完全相同;同理每一列也都是唯一的,每一列都不会和另一列完全相同。

现在请你和小蓝一起解决 0101 游戏吧!题目保证所有的测试数据都拥有一个唯一的答案。

输入格式

输入的第一行包含一个整数 NN 表示棋盘大小。

接下来 NN 行每行包含 NN 个字符,字符只可能是 01_ 中的其中一个 (ASCII 码分别为 484849499595),0 表示这个位置数字固定为 001 表示这个位置数字固定为 11_ 表示这是一个空白位置,由玩家填充。

输出格式

输出 NN 行每行包含 NN 个字符表示题目的解,其中的字符只能是 0 或者 1

6
_0____
____01
__1__1
__1_0_
______
__1___

100110
010101
001011
101100
110010
011001

提示

【评测用例规模与约定】

对于 60%60\% 的评测用例,2N62\le N\le 6;
对于所有评测用例,2N102\le N\le 10NN 为偶数。

感谢 @rui_er 提供测试数据。