题目链接:
https://ac.nowcoder.com/acm/contest/11166/A
题目大意
有两堆石头,数量分别为 n,m 。两个人轮流操作,每次可以从一堆石头中拿走 k(k>0) 块石头,在另一堆中拿走 s*k(s≥0) 个石头。
不能操作者输。双方均采取最优策略,求先手胜还是后手胜。
题解
因为Alice和Bob的每一步操作都是最优解,所以若当前操作者处于一个必胜的状态时,则操作后的状态一定为必输状态,所以只需根据必输状态推出必胜状态,再将推出的状态记录即可。
假设当前必输状态为 (x,y)(x,y)(x,y)
则可推出的必胜状态为 [x+i,y+i∗j][x+i,y+i*j][x+i,y+i∗j] 与 [x+i∗j,y+i][x+i*j,y+i][x