bzoj1022: [SHOI2008]小约翰的游戏John
来源:互联网 发布:小米手环2 知乎 编辑:程序博客网 时间:2024/06/10 07:52
传送门
题目大意:反Nim游戏,即取走最后一个的人输
首先状态1:如果所有的堆都是1,那么堆数为偶先手必胜,否则先手必败
然后状态2:如果有两个堆数量相同且不为1,那么后手拥有控场能力,即:
若先手拿走一堆,那么后手可以选择将另一堆留下1个或者全拿走,使这两堆最终只剩1个或0个;
若先手将一堆拿剩一个,那么后手可以选择将另一堆留下一个让先手拿或全拿走,使这两堆最终只剩1个或0个;
若先手将一堆拿走一部分,那么后手可以将另一堆同样拿走一部分,然后同上
状态3:若Xor!=0 那么先手可以先拿走一部分让Xor=0 然后同状态2先手必胜 否则先手必败
鉴于本人智商余额严重不足,以上内容仅存在参考价值,无法证明正确性,欢迎指正
于是若所有堆全是1 Xor==0先手必胜 否则后手必胜
若有堆不是1 Xor==0后手必胜 否则先手必胜
var t,i,j,n,sg,fl,x:longint;begin read(t); for i:=1 to t do begin read(n); sg:=0; fl:=0; for j:=1 to n do begin read(x); sg:=sg xor x; if (x<>1) then fl:=1; end; if (sg+fl=0) or ((sg<>0) and (fl<>0)) then writeln('John') else writeln('Brother'); end;end.
1 0
- bzoj1022[SHOI2008]小约翰的游戏John
- bzoj1022 [SHOI2008]小约翰的游戏John
- bzoj1022: [SHOI2008]小约翰的游戏John
- bzoj1022: [SHOI2008]小约翰的游戏John
- bzoj1022 [SHOI2008]小约翰的游戏John
- BZOJ1022: [SHOI2008]小约翰的游戏John
- [BZOJ1022][SHOI2008]小约翰的游戏John-反NIM游戏
- bzoj1022: [SHOI2008]小约翰的游戏John 博弈
- 【bzoj1022】【SHOI2008】【小约翰的游戏John】【博弈论】
- 【BZOJ1022】[SHOI2008]小约翰的游戏John【Anti-Nim】
- 【bzoj1022】[SHOI2008]小约翰的游戏John 博弈论
- 【博弈论】bzoj1022[SHOI2008]小约翰的游戏John
- 12.7 bzoj1022 [SHOI2008]小约翰的游戏John
- 【Anti-Nim】BZOJ1022(SHOI2008)[小约翰的游戏John]题解
- BZOJ1022 [SHOI2008]小约翰的游戏John 【博弈论】
- BZOJ1022 [SHOI2008]小约翰的游戏John(Anti-Nim游戏)
- [BZOJ1022][SHOI2008]小约翰的游戏John(博弈Anti-Nim游戏)
- BZOJ1022(SHOI2008)[小约翰的游戏John]--博弈论(反Nim游戏)
- CSS3基础——背景
- docker save/load, export/import
- Android应用外网ip和地理位置解析
- C# 还是 VB.net ,语言选择
- 最小生成树
- bzoj1022: [SHOI2008]小约翰的游戏John
- linux常用命令
- 汉字按照字母排序
- 使用encodeURIComponent() 函数解决js传参的特殊字符问题
- 前端开源项目周报0228
- sublime Text3使用笔记
- Linux下Mongodb安装和启动配置
- 五大框架的学习过程中遇到的问题
- 产品设计 【网站转化率与漏斗模型】