POJ-2311-Cutting Game

来源:互联网 发布:上海潘多网络 编辑:程序博客网 时间:2024/05/29 13:27

          求SG函数好题,关于这个还得好好练习练习

代码:

#include<cstdio>#include<cstring>#include<iostream>using namespace std;const int maxn=210;int n,m,dp[maxn][maxn];int grundy(int w,int h){    if(dp[w][h]!=-1)        return dp[w][h];    bool vis[maxn*2];    memset(vis,0,sizeof(vis));    for(int i=2;i<=w-i;i++)        vis[grundy(i,h)^grundy(w-i,h)]=1;    for(int i=2;i<=h-i;i++)        vis[grundy(w,i)^grundy(w,h-i)]=1;    int res=0;    while(vis[res])        res++;    return dp[w][h]=res;}int main(){    memset(dp,-1,sizeof(dp));    while(scanf("%d%d",&n,&m)!=EOF)    {        if(grundy(n,m))            printf("WIN\n");        else            printf("LOSE\n");    }    return 0;}


0 0
原创粉丝点击