首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

poj2311 Cutting Game-sg

2012-09-17 
poj2311Cutting Game-----sg#includeiostream#includecstdlib#includestdio.h#includememory.husi

poj2311 Cutting Game-----sg

 

 

#include<iostream>#include<cstdlib>#include<stdio.h>#include<memory.h>using namespace std;int sg[210][210];int dfs(int n,int m){ if(sg[n][m]>=0) return sg[n][m]; bool g[210]={0}; for(int i=2;i<=n/2;i++) { g[dfs(i,m)^dfs(n-i,m)]=1; } for(int i=2;i<=m/2;i++) { g[dfs(n,i)^dfs(n,m-i)]=1; } for(int i=0;;i++) if(g[i]==0) return sg[n][m]=i;}int main(){ memset(sg,-1,sizeof(sg)); int n,m; while(scanf("%d%d",&n,&m)!=EOF) { if(dfs(n,m)>0) puts("WIN"); else puts("LOSE"); }}


 

热点排行