1 条题解

  • 0
    @ 2024-4-3 16:38:46
    #include<bits/stdc++.h>
    using namespace std;
    int n, m;
    int SG[210][210], vis[210];
    void pre() {
    	for(int x = 2; x <= 200; ++x)
    		for(int y = 2; y <= 200; ++y) {
    			for(int i = 0; i <= 200; ++i) vis[i] = 0;
    			for(int i = 2; x - i >= 2; ++i) vis[SG[i][y] ^ SG[x-i][y]] = 1;
    			for(int i = 2; y - i >= 2; ++i) vis[SG[x][i] ^ SG[x][y-i]] = 1;
    			for(int i = 0; i <= 200; ++i)
    				if(!vis[i]) {
    					SG[x][y] = i;
    					break;
    				}
    		}
    }
    signed main() {
    	pre();
    	while(scanf("%d%d", &n, &m) != EOF)
    		printf("%s\n", SG[n][m] == 0 ? "LOSE" : "WIN");
    	return 0;
    }
    
    • 1

    信息

    ID
    130
    时间
    1000ms
    内存
    128MiB
    难度
    7
    标签
    递交数
    16
    已通过
    10
    上传者