hdu1851_A Simple Game博弈—SG函数
来源:互联网 发布:淘宝网长袖围裙 编辑:程序博客网 时间:2024/05/22 03:08
hdu1851_A Simple Game
题意 :n堆石子,分别有M1,M2,·······,Mn个石子,各堆分别最多取L1,L2,·····Ln个石头,两个人分别取,一次只能从一堆中取,取走最后一个石子的人获胜。后选的人获胜输出Yes,否则输出No。
思路:先看一堆石子,然后求该堆的sg函数,最后由SG定理可知 将每堆石子的SG函数值异或,即可得解。
#include <iostream>#include <algorithm>#include <cstring>#include <cstdio>using namespace std;#define maxn 22int main(){ int n,m,l,i,j,k,T; int sg[maxn],vis[maxn],fsg; cin>>T; while(T--) { scanf("%d",&n); fsg=0; for(i=0; i<n; i++) { scanf("%d%d",&m,&l); /** /////////////求每一堆的sg[m]函数值*/ for(j=0; j<=l; j++) sg[j]=j; for(k=l+1; k<=m; k++) { memset(vis,0,sizeof(vis)); for(j=k-l;j<k;j++) vis[sg[j]]=1; for(j=0;;j++) if(!vis[j]) { sg[k]=j; break; } } /** //////////////////*/ fsg^=sg[m]; } if(!fsg) cout<<"Yes"<<endl; else cout<<"No"<<endl; } return 0;}
- hdu1851_A Simple Game博弈—SG函数
- hdoj 1851 A Simple Game(组合博弈, sg函数)
- HDOJ 1851 A Simple Game 博弈 SG函数中找规律
- 【lightOJ】 Partitioning Game (博弈,sg函数)
- 【lightOJ】 Again Stone Game (博弈,SG函数)
- POJ_P2311 Cutting Game(博弈+SG函数)
- POJ 2311 Cutting Game 博弈,sg函数
- HDOJ 题目1851A Simple Game(简单sg博弈)
- HDU 5795 A Simple Nim (找规律+sg函数+博弈)
- HDOJ 5795 A Simple Nim (博弈Nim+sg函数)
- 【博弈+SG函数+打表找规律】HDU_5795_A Simple Nim
- hdu 1079 Calendar Game (SG函数)(博弈——找规律)
- SG函数入门——【2017.5.28提高组模拟】Simple Game
- hdu 1079 Calendar Game(博弈SG函数 || 奇偶找规律)
- 博弈之sg函数 A chess game
- hdu 1079 Calendar Game 博弈(组合游戏) sg函数
- 【POJ2425】A Chess Game 博弈,SG函数,裸题,模板题
- 【博弈】【SG函数】【HUST 1612】A new tree game
- 关于Linux图形和字符界面切换方式和startx的个人理解
- ECAT_StateChange——EtherCAT状态转换
- 其他_postgreSQL相关
- nodejs addon binding osg
- linux 进程间通信----共享内存(下)
- hdu1851_A Simple Game博弈—SG函数
- 黑马程序员_03 抽象类和接口
- ubuntu 10.10源不用到解决办法
- XML DOM Document 对象
- 【IdeaCentre B5系列主机使用过程中经常死机怎么办】
- 【diannaoxitong】boot.ini在哪里?如何找到它
- C语言学习大纲--隐式转换
- 丑数
- 小话c语言