题目链接点这儿
给你一个字典树,谁走到头不能走了,那么谁就输。输者是下局的先手,问k局比赛后谁是胜者=-=
我们可以分出3种情况
1° 先手必输,这样他下次还是先手,还是接着输,那么到最后肯定还是他输。
2°先手有必胜策略,而且可以在途中引向他必败的策略上,那么他可以在前k-1局中输掉,这样到最后一局时,他还是先手,由于他有必胜策略,显然他会在最后一局胜出=-=
3°先手有必胜策略,但是在途中他走不到必败的路上,那么这时不管谁是先手,他都必输,那么这时最后一局的胜者和局数有关=-=
叶子节点显然是必输。
某个中间节点的儿子里有必胜点,那么这个点是可输点,如果儿子里有必输点,那么这个点是必胜点。按照这两个规则dfs一遍字典树即可=-=
其实就是个比较水的博弈,但是之前从来没有遍历过字典树QAQ,所以当时直接弃疗了。
结束之后才发现字典树的dfs其实好简单QAQ,二维数组版的字典树遍历起来简直轻松!连递归都不要写!(当然这是从叶子反dfs到根=-=)
代码点这里=-=