bzoj 1188 分裂游戏 博弈论
来源:互联网 发布:乎是不是多音字 编辑:程序博客网 时间:2024/05/18 00:54
同一堆里的每个豆子是相互独立的,sg[i]表示第i堆里一个豆子的sg值。
sg[i]=mex( sg[j]^sg[k] ) ;
#include<cstdio>#include<cstring>#include<iostream>using namespace std;int n;int p[30],sg[30];int use[1000];int main(){ int T;scanf("%d",&T); while(T--) { scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&p[i]); sg[n]=0; int ans=0; for(int i=n-1;i>=1;i--) { memset(use,0,sizeof(use)); for(int j=i+1;j<=n;j++) for(int k=j;k<=n;k++) use[sg[j]^sg[k]]=1; int j=0;while(use[j]) j++; sg[i]=j;if(p[i]%2) ans^=sg[i]; } if(ans==0) { puts("-1 -1 -1");puts("0"); continue; } int tot=0; for(int i=1;i<n;i++) { for(int j=i+1;j<=n;j++) for(int k=j;k<=n;k++) if((ans^sg[i]^sg[j]^sg[k])==0) { tot++; if(tot==1) printf("%d %d %d\n",i-1,j-1,k-1); } } printf("%d\n",tot); } return 0;}
1 0
- bzoj 1188 分裂游戏 博弈论
- BZOJ 1188 分裂游戏 (博弈论)
- BZOJ 1188: [HNOI2007]分裂游戏 博弈论
- bzoj-1188 分裂游戏
- [BZOJ 1188]分裂游戏
- [BOZJ 1188][HNOI2007]分裂游戏(博弈论)
- bzoj1188 分裂游戏 博弈论
- 【BZOJ 1188】 [HNOI2007]分裂游戏
- BZOJ 1188 [HNOI2007]分裂游戏
- BZOJ 1188: [HNOI2007]分裂游戏
- BZOJ 1188 [HNOI2007]分裂游戏
- bzoj 1188 [HNOI2007]分裂游戏
- BZOJ 1188 [HNOI2007]分裂游戏 SG函数
- bzoj 1188: [HNOI2007]分裂游戏 sg函数
- bzoj 分裂游戏
- BZOJ 1188 [HNOI 2007]分裂游戏 (博弈)
- bzoj 1188: [HNOI2007]分裂游戏(sg函数)
- bzoj 4600 硬币游戏 博弈论
- Unity手势操作FingerGestures插件
- ThinkPHP的使用(六)图片上传及预览插件
- Javascript异步编程的4种方法
- JAV实现跳台阶问题(《剑指offer》)
- SHELL 分析 列出当天访问次数最多的IP
- bzoj 1188 分裂游戏 博弈论
- open failed: EACCES (Permission denied)
- ASP.NET MVC验证框架中关于属性标记的通用扩展方法
- 封装RecyclerView的基础适配器BaseAdapter
- 几个常用存储引擎的特点
- BatchNorm layer设定
- Ubuntu无法找到add-apt-repository问题的解决方法
- 给RecyclerView的Item添加点击事件
- substr_replace()—替换字符串中某些字符