2 条题解

  • 0
    @ 2025-12-16 14:46:12

    披着搜索外壳的分类讨论题。

    你可以使用记忆化搜索去做,码量比较大,复杂度比较玄学,不同的搜索方式不一样,有部分这样写的代码可以通过,这里不再赘述。

    再往下想想,其实我们可以发现先手下的人赢面本来就很大。

    首先如果棋盘上没有棋子,那么我们下中间,然后再使用特权随便下两个可以连起来的地方,即可胜利。

    如果棋盘上已经各有一颗棋子,那么这颗棋子一定至少有一个方向没有对方的棋子,我可以直接使用特权胜利。

    如果棋盘上已经各有四颗棋子,直接填入后判断即可。 如果棋盘上已经各有三颗棋子,那么一定是使用特权更优,三种方式枚举一下,结果或起来即可。

    如果棋盘上已经各有两颗棋子,手算枚举一下各个情况,发现无论怎么下都是先手必胜的,直接 Yes 即可。

    按照上面的情况即可通过此题,复杂度为 check 函数的复杂度,大概为几十的常数。

    信息

    ID
    160
    时间
    1000ms
    内存
    256MiB
    难度
    5
    标签
    递交数
    50
    已通过
    6
    上传者