nim博弈
来源:互联网 发布:淘宝店铺怎么设置运费 编辑:程序博客网 时间:2024/05/21 19:40
nim取石子游戏, 有n堆石子,每堆有ai个石子,A和B轮流从非空的堆中取走至少一个石子。A先取,取光所有石子的一方获胜。当双方都采取最优策略时,谁能取胜?
1<=n<=100000
1<=ai<=10^9
a1 XOR a2 XOR……XOR an !=0 ->必胜态
a1 XOR a2XOR……XOR an==0 ->必败态
取走一个石子 必胜态就是必败态了。
必败态的二进制为1。从相应的石头堆取走相应的石子使它变成0 ,就成了必胜态。
#include<iostream>#include <stdio.h>#include<memory.h>#define MAX 1000010using namespace std;int N,a[MAX];int main(){ int x=0; for(int i=0;i<N;i++)x^=A[i];//^是亦或的符号if(x!=0)printf("A\n");else printf("B\n");return 0; }
0 0
- nim 博弈
- Nim博弈
- Nim博弈
- NIM 博弈
- Nim 博弈
- Nim博弈
- nim 博弈
- Nim博弈
- Nim博弈
- Nim博弈
- nim博弈
- nim博弈
- (博弈Nim)Nim
- 博弈-Nim博弈
- Nim博弈变形(anti-nim)
- Nim(Nim博弈变形)
- Misere Nim (Nim博弈)
- POJ 2975 Nim <Nim 博弈>
- lists这个类无法使用maven打包
- 编程之美2.18--数组分割(动态规划问题)
- DroiBaaS云服务再获权威认可,顺利通过可信云评估
- iOS 10 CallKit 的简单使用
- java--Object
- nim博弈
- 使用Gradle管理你的Android Studio工程
- (转载)First and Follow Sets(编译原理)
- java值传递和引用传递总结
- hive学习笔记第三部分
- 获取属性的各个部分的内容(权限修饰符变量类型变量名)
- Afinal 下载功能errorNo=0 下载失败
- Composer的命令行工具
- The Backend Implementation of HugeGraph