hihocoder1163 nim博弈
来源:互联网 发布:vmware mac os 10.9 编辑:程序博客网 时间:2024/05/22 17:15
点击查看题目
#include <cstdio>#include <iostream>using namespace std;int main(){ int n; cin >> n; int x = 0; for(int i = 0;i < n;i++){ int a; cin >> a; x ^= a; } if(x == 0){ cout << "Bob" << endl; } else{ cout << "Alice"<< endl; } return 0;}
定义P为先手必败,N为先手必胜。
若A[1] = 0,那么先手的必输。若A[1] != 0 那么先手必胜。
若假设对于一个局面,当且仅当A[1] xor A[2] xor … xor A[N] = 0时,该局面为P局面。
那么若A[1] xor A[2] xor … xor A[N] xor A[n+1] = 0那么A[n+1] == 0,不符合题意。
若A[1] xor A[2] xor … xor A[N] xor A[n+1] != 0,那么先手如果当前状态是N同样能证明假设。若先手取掉所有的A[n+1] 那么 A[1] xor A[2] xor … xor A[N] = 0,这时候就有第二个人必输,这时候先手就赢了,也就是说如果当前的所有A异或和等于零那么你怎么取都不能使得下一个人取的时候所有的异或和为0,也就是你下一个人必然是N态,如果先手异或和不是零,那么你总有一种方法使得你取出来其中的一堆中的部分使得其它数异或和变为0,这就是下一个人必输态。
0 0
- hihocoder1163 nim博弈
- [hihoCoder1163]博弈游戏·Nim游戏[博弈论]
- nim 博弈
- Nim博弈
- Nim博弈
- NIM 博弈
- Nim 博弈
- Nim博弈
- nim 博弈
- Nim博弈
- Nim博弈
- Nim博弈
- nim博弈
- nim博弈
- (博弈Nim)Nim
- 博弈-Nim博弈
- Nim博弈变形(anti-nim)
- Nim(Nim博弈变形)
- Windows QT下OpenCV的配置
- java移动占位符<<;>>d的实现原理
- ConcurrentModificationException异常解决
- 集群,分布式,负载均衡区别联系
- 面试题:(1)关于fork的问题
- hihocoder1163 nim博弈
- github-july-字符串的全排列
- CCMenu解析
- 如何在点击shell/elisp类型的link时,不要弹出确认窗口
- Coursera机器学习课程笔记(5) Neural Networks Representation
- UVA 1451 - Average
- 【h5-egret】js加载成第三方库
- OpenCV 重映射
- UVALive 6625_状态压缩