1 条题解

  • 0
    @ 2025-8-24 23:13:03

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar 123ytq666
    这里似乎应该写上一句高深的话

    搬运于2025-08-24 23:13:03,当前版本为作者最后更新于2025-04-14 12:49:26,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


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

    不扯了,进入正题。

    题目要求:

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

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

    棋盘

    初始棋盘

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

    解题思路

    第一步

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

    第二步

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

    现在的棋盘

    第1,2步棋盘

    第三步

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

    图一

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

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

    现在的棋盘

    第3步棋盘

    第四步(重点!)

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

    第五步

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

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

    现在的棋盘

    第4,5步棋盘

    第六步

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

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

    完成!

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

    最终棋盘

    • 1

    信息

    ID
    11995
    时间
    1000ms
    内存
    512MiB
    难度
    2
    标签
    递交数
    0
    已通过
    0
    上传者