P12139 [蓝桥杯 2025 省 A] 黑白棋 题解

· · 题解

这是一道无需任何编程基础就可以完成的题目,只要有耐心,就一定可以通过。

不扯了,进入正题。

题目要求:

用黑白棋填满棋盘,要求:

  1. 每行每列都要有三个黑棋和三个白棋。
  2. 在棋盘的任何一行或一列中,不允许出现“黑黑黑”或“白白白”。
  3. 每一行的棋子排列方式必须是唯一的,不能与棋盘中的任何其他行完全相同。
  4. 每一列的棋子排列方式也必须是唯一的,不能与棋盘中的任何其他列完全相同。
  5. 行可以与列相同,无需满足行列间的唯一性。

棋盘

注:本题解使用黄色格子为初始填入的棋子,且 1 代表黑棋,0 代表白棋,(1,2) 表示第 1 行第 2 列。

解题思路

第一步

可以直接看出 (1,3)(3,4) 都是黑棋。如果是白棋,那么就违反了第二条规定。

第二步

通过观察,可以发现 (3,1) 必须是黑棋。如果是白棋,那么 (3,2)(3,3)(3,4) 都是黑棋,违反了第二条规定。然后又可以发现 (2,1) 必须是白棋子。

现在的棋盘

第三步

可以发现,(6,4) 是黑棋,(6,3) 是白棋,因为 (6,4) 的黑棋与 (3,1) 的黑棋对角线对称,并且 (6,3) 的白棋与 (3,6) 的白棋呈对角线,展示见下图。

根据规则二,可以轻松判断 (6,1) 是黑棋,(6,6) 是白棋。

然后便可以发现,第 1 列已经有 3 个黑棋,所以,(4,1)(5,1) 必须是白棋。

现在的棋盘

第四步(重点!)

如果我们假设 (5,2) 是白棋,那么 (5,4)(5,5) 是不确定的,但如果 (5,2) 是黑棋,那么就可以确定 (5,4)(5,5) 是白棋。

第五步

根据规则一,可以判断 (4,4) 是黑棋。再根据规则三,可以判断 (4,5) 也是黑棋。

可以发现 (4,3)(4,6) 必须是白棋,否则违反了规则一。然后再在 (4,2) 填入黑棋。

现在的棋盘

第六步

根据规则一,可以看出 (1,6)(2,6) 必须是黑棋,又发现 (1,5) 必须是白棋,再发现 (2,5) 必须是黑棋。

随后先后看出 (3,2)(2,2)(2,3)(3,3) 分别为白棋,黑棋,白棋,黑棋。

完成!

棋盘填好,最终结果如下图,检查规则三和规则四是否成立就可以提交了。