哈理工校赛的一道博弈题

当时想了好久,都已经摸到答案的边了,最后还是没做对。***了。

还是做博弈做的太少。

题目中k的范围   是关键   k>=| n - m |    这代表什么意思呢

这代表 先手的人 拿一次  有办法将两堆石子变成一样多的状态 

这有什么用呢  有大用处 我们很容易可以发现

面对两堆一样多的石子  先手必败  因为先手不论怎么取 对手都可以在另一堆做同样的操作  直到先手的人输

那么好了 这个题  由于k的范围限制  导致先手的人一定可以把两堆变成一样多 从而轮到对手取拿 对手必输

 

所以 n==m 必输  否则 必赢

#include<stdio.h>
int main(){
    int n,m,k;
    while(~scanf("%d%d%d",&n,&m,&k)){
        if(n!=m)printf("HAI YOU SEI!\n");
        else printf("LAOZI CHUI SI NI!\n");
    }
}