2015年2月2日 星期一

2015/02/02 POJ 2311 Cutting Game

/*
    N*M 的蛋糕
    ㄧ次可以切 格線上
    水平或垂直的一刀
    最先切出 1*1 的人就贏了
*/
#include <iostream>
#include <cstdio>

using namespace std;

int W, H;
int gdy[300][300];
bool hv[600];

int main()
{
    for(int i = 1; i <= 200; i++)
        for(int j = 1; j <= 200; j++)
        {
            fill(hv, hv+400, false);

            for(int k = 2; k < i-1; k++)
                hv[gdy[k][j]^gdy[i-k][j] ] = true;

            for(int k = 2; k < j-1; k++)
                hv[gdy[i][k]^gdy[i][j-k] ] = true;

            for(int k = 0; k < 400; k++)
                if( !hv[k] )
                {
                    gdy[i][j] = k;
                    break;
                }
        }

    while( scanf("%d %d", &W, &H) != EOF )
    {
        if( gdy[W][H] ) puts("WIN");
        else puts("LOSE");
    }
}

沒有留言:

張貼留言