POJ 2311 Cutting Game (SG函数)
来源:互联网 发布:网络没问题lol延迟高 编辑:程序博客网 时间:2024/05/29 15:11
转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents by---cxlove
题目:给出一个N*M的纸片,每一次可以把一部分剪成两部分,谁剪出1*1的就赢了。
http://poj.org/problem?id=2311
对于任何一个人,都不会先剪出1*n或者n*1,应该这样就必败了。
那我们考虑一个状态的后继中,最小的边也是2,这样就可以避免之前的问题,也不需要考虑类似ANTI-SG。
一旦出现2*2,2*3,3*2,这些都成了终止状态,不论怎么剪都会出现1*n,或者n*1
还是考察SG函数
#include<iostream>#include<cstdio>#include<ctime>#include<cstring>#include<cstdlib>#include<vector>#define C 240#define TIME 10#define LL long longusing namespace std;int sg[205][205];int get_sg(int n,int m){ if(sg[n][m]!=-1) return sg[n][m]; int vis[1005]; memset(vis,0,sizeof(vis)); for(int i=2;i<=n-i;i++) vis[get_sg(i,m)^get_sg(n-i,m)]=1; for(int i=2;i<=m-i;i++) vis[get_sg(n,i)^get_sg(n,m-i)]=1; for(int i=0;;i++) if(vis[i]==0) return sg[n][m]=i;}int main(){ int n,m; memset(sg,-1,sizeof(sg)); while(scanf("%d%d",&n,&m)!=EOF) if(get_sg(n,m)) printf("WIN\n"); else printf("LOSE\n"); return 0;}
- POJ 2311 Cutting Game (SG函数)
- poj 2311 Cutting Game(sg函数)
- poj 2311 Cutting Game (sg函数)
- poj 2311 Cutting Game sg函数
- POJ 2311 Cutting Game (sg函数)
- POJ 2311 Cutting Game SG函数
- poj 2311 Cutting Game SG函数
- POJ 2311 Cutting Game SG函数
- POJ 2311 Cutting Game 博弈,sg函数
- POJ-2311 Cutting Game(SG函数,二维)
- poj 2311 Cutting Game SG函数的运用 唉,,,
- POJ 2311 Cutting Game【SG函数,子游戏终态】
- sg函数的应用 poj--Cutting Game
- POJ 2311-Cutting Game(Nim博弈-sg函数/记忆化搜索)
- POJ 2311 Cutting Game (sg博弈)
- POJ2311 Cutting Game SG函数
- [POJ2311]Cutting Game(博弈Multi-SG函数)
- POJ2311 Cutting Game(博弈Multi-SG函数)
- linux下svn使用方法
- 对orcale数据库中表的创建以及对表中数据的基本操作
- wireshark: There are no interfaces on which a capture can be done.故障解决
- HTML:img标签usemap,一个图片中添加多个链接
- 算法基础之排序篇-归并排序
- POJ 2311 Cutting Game (SG函数)
- 图说Camera App(一)
- Linux的时间同步(NTP)
- 8月9日学习内容
- 手把手教你把Vim改装成一个IDE编程环境(图文)
- Linux源码安装Apache
- Scrum开发模式
- 16 款基于jQuery的图片缩放效果插件推荐
- linux shell编程五步拳(张迅雷闪击shell系列) 第三集 shell编程基本语法快速进阶