2017.9.22 小约翰的游戏John 失败总结

来源:互联网 发布:淘宝如何开通国际转运 编辑:程序博客网 时间:2024/06/05 22:41

第一次正式接触anti-sg、、

惨到暴力都不会、

这里的胜负条件相反不是简单地将胜负取反,它的胜负局面的判断是不一样的、

所以如果第一次碰到这种题就手玩找规律吧,,毕竟这可以说是一个结论题:

如果sg==0 且 有石子堆石子个数数>1

或 sg>0且 所有石子堆石子个数<1 

则先手赢、、

博弈的证明太难了


码:

#include<iostream>#include<cstdio>using namespace std;int t,n,i,x;int main(){scanf("%d",&t);while(t--){bool flag=0;int o=0;scanf("%d",&n);for(i=1;i<=n;i++){scanf("%d",&x);if(x>1)flag=1;o^=x;}if((o==0&&flag==0)||(o!=0&&flag)){printf("John\n");}else printf("Brother\n");}}


原创粉丝点击