博弈问题总集第二类----Anti-Nim
来源:互联网 发布:建立网络共享 编辑:程序博客网 时间:2024/06/05 23:43
这里是第二关啦——规则反过来
上面所说的SG函数的一个重要前提就是当一个玩家没有操作的时候他输,但如果当这个人没有操作的时候判赢,就不能简单地用SG函数来求解了。虽然NP态理论还是成立的,但SG函数证明正确性的大前提没有了。
这类Anti-SG游戏的一个通用定理——SJ定理:
对于任意一个 Anti-SG 游戏,如果我们规定当局面中所有的单一游戏的 SG 值为 0 时,游戏结束,则先手必胜当且仅当:
(1)游戏的 SG 函数不为0且游戏中某个单一游戏的 SG 函数大于 1;
(2)游戏的 SG 函数为0且游戏中没有单一游戏的 SG 函数大于 1。
有了这个定理,所有Anti_SG游戏就可以直接求出SG函数然后用上面的定理判断了。求SG函数的过程和普通的博弈题的做法是一样的。
题目:
[BZOJ1022] [SHOI2008] John
[HDU2509] Be the Winner
题解:
我会告诉你上面的两道题是一道题?
只要按照上面说的做就行了?
代码:
#include <cstdio>using namespace std;int a[55];int main(){ int T,n; scanf("%d",&T); while (T--) { int k=0,z=0; scanf("%d",&n); for (int i=1;i<=n;i++) { scanf("%d",&a[i]),k^=a[i]; if (a[i]>1) z++; } if ((k && z>=1) || (!k && !z)) printf("John\n");else printf("Brother\n"); }}
阅读全文
1 0
- 博弈问题总集第二类----Anti-Nim
- 博弈问题总集第三类----Staircase Nim
- 博弈问题总集第六类----非Nim游戏
- anti-nim博弈
- Nim博弈变形(anti-nim)
- 博弈问题总集第四类----Multi-SG
- 博弈问题总集第五类----Every-SG
- Anti-nim博弈 John poj3480
- bzoj 1022 博弈 Anti-Nim(模板)
- POJ 3480 John Anti-Nim博弈变形
- HDOJ 1907 John anti-nim博弈
- POJ2975--NIM博弈问题
- NJUST1927 谁才是最强战舰!(anti-Nim博弈)
- 博弈问题之Nim游戏
- 博弈问题总集第一类----求SG函数出解
- [BZOJ1022][SHOI2008]小约翰的游戏John(博弈Anti-Nim游戏)
- FAFU1010 anti-nim
- anti-nim游戏
- SIFT算法调优
- Core ML 与 Vision:iOS 11 机器学习教程
- 云计算Q&A
- Android 图片加载 Error:Failed to allocate a 36018012 byte allocation with 16777216
- Hadoop 序列化
- 博弈问题总集第二类----Anti-Nim
- 在浏览器端用JS创建和下载文件
- 谁知道Flyerinternational外汇
- day01
- jQuery ajax
- randow函数学习
- JavaScript~ajax~百度搜索
- FATFS移植
- Java核心技术