2 条题解
-
0
披着搜索外壳的分类讨论题。
你可以使用记忆化搜索去做,码量比较大,复杂度比较玄学,不同的搜索方式不一样,有部分这样写的代码可以通过,这里不再赘述。
再往下想想,其实我们可以发现先手下的人赢面本来就很大。
首先如果棋盘上没有棋子,那么我们下中间,然后再使用特权随便下两个可以连起来的地方,即可胜利。
如果棋盘上已经各有一颗棋子,那么这颗棋子一定至少有一个方向没有对方的棋子,我可以直接使用特权胜利。
如果棋盘上已经各有四颗棋子,直接填入后判断即可。 如果棋盘上已经各有三颗棋子,那么一定是使用特权更优,三种方式枚举一下,结果或起来即可。
如果棋盘上已经各有两颗棋子,手算枚举一下各个情况,发现无论怎么下都是先手必胜的,直接 Yes 即可。
按照上面的情况即可通过此题,复杂度为 check 函数的复杂度,大概为几十的常数。
信息
- ID
- 160
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 5
- 标签
- 递交数
- 50
- 已通过
- 6
- 上传者