前置芝士:Tarjan、拓扑、博弈论
思路
首先这个游戏最多持续两局,否则就平局了。
证明
Alice 操作的每一个点,Bob 都可以原路返回,所以一定是可以重复的,一定会平局。
但是如果前两局的话,因为判定在操作之后,所以是有机会的qwq。
看到这句话:“将所有从该点开始,能到达的点(包括自身)颜色翻转”,于是我们先缩点。
很明显,如果一个缩点后的点里面有不同颜色的点,那么就是一定不能成功的。
如果 Alice 赢
对这个 DAG 跑拓扑排序,遇到的第一个黑点只能是 Alice 的选择,因为不选的话就完全不能救回局面了。所以我们选这个黑点,那么这个拓扑之后的事情,就是从这个黑点往后走,不能走到白点,否则就寄了,唯一胜利的方法就是后面全是黑点。
如果 Bob 赢
对于入度为 \(0\) 的点,
时间复杂度:\(O()\)。
难点/坑点:
点击查看代码