有 $n$ 个数,第 $i$ 个为 $a_i$
有甲、乙两人轮流操作,甲先操作。
一次操作有 3 个选项:
- 将一个大于 $0$ 的数减 $x$
- 将一个大于 $0$的数减 $y$
- 将一个大于 $0$ 的数减 $z$
如果操作后该数小于 $0$ ,则变为 $0$.
SG函数是个值!
这里就是有向图$SG$函数。
然后枚举操作,让对方必败即可。
但是这里$n$太大了。
打表可以知道有循环节。
设 $𝑓(𝑖,𝑗)$ 表示$𝑖$个人,上一次操作是 $𝑗$ 的SG值。那么若 $𝑓(𝑖)∼𝑓(𝑖+4)$ 与之前的五行重复了,则$𝑓(𝑖+5)$ 一定与之前的五行的下一行一样。
用点技巧找到循环节即可。
代码
1 |
|