POJ 2311 Cutting Game SG函数
来源:互联网 发布:windows激活工具 编辑:程序博客网 时间:2024/05/29 15:12
点击打开链接
对于一个给定的有向无环图,定义关于图的每个顶点的Sprague-Garundy函数g如下:g(x)=mex{ g(y) | y是x的后继 }。
来看一下SG函数的性质。首先,所有的terminal position所对应的顶点,也就是没有出边的顶点,其SG值为0,因为它的后继集合是空集。然后对于一个g(x)=0的顶点x,它的所有后继y都满足g(y)!=0。对于一个g(x)!=0的顶点,必定存在一个后继y满足g(y)=0。
题意:n*m矩形,轮流切割,矩形面积为1*1时无法切割则输.
每次切割时,都要保证长宽至少为2,若为1*x则下一步对手就能切成1*1,求出SG函数即可
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <set>using namespace std;typedef long long ll;const int N=3e2+20;int n,m;int g[N][N]; int grundy(int n,int m){if(g[n][m]!=-1)return g[n][m];set<int> s;//枚举后继状态 for(int i=2;n-i>=2;i++)s.insert(grundy(i,m)^grundy(n-i,m));for(int i=2;m-i>=2;i++)s.insert(grundy(n,i)^grundy(n,m-i));int res=0;while(s.count(res))res++;return g[n][m]=res;}int main(){memset(g,-1,sizeof(g));while(cin>>n>>m){grundy(n,m);if(g[n][m])puts("WIN");elseputs("LOSE");}return 0;}
0 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 (sg博弈)
- POJ2311 Cutting Game SG函数
- POJ 2311-Cutting Game(Nim博弈-sg函数/记忆化搜索)
- kyeremal-poj2311-Cutting Game-sg函数
- POJ_P2311 Cutting Game(博弈+SG函数)
- JAVAWEB开发之Struts2详解(一)——Struts2框架介绍与快速入门、流程分析与工具配置以及Struts2的配置以及Action和Result的详细使用
- 62. Unique Paths
- C++ builder 中 流式布局 panel块可自动排列
- FD_WRITE
- Opencv鼠标截取图片场景
- POJ 2311 Cutting Game SG函数
- 第一节 视图与渲染
- 小象《Hadoop 2.X大数据平台V3》
- 安装mahotas (对ubuntu 16.04 python3.5)
- Android 5.0(Lollipop)事件输入系统(Input System)
- Spring AOP 自定义注解方式实现实现日志管理
- 判断是PC 端,Android端,微信端方法
- 信息抽取
- CentOS7.2下安装RegCM 4.6.0