ZOJ 3057 Beans Game 博弈论 sg函数

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3057

典型的sg函数,数据范围卡得真好啊

代码

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 #include<cmath>
 5 #include<iostream>
 6 #include<map>
 7 using namespace std;
 8 int m,n,k;
 9 bool a[310][310][310]={};
10 int main(){
11     for(int i=0;i<=301;i++){
12         for(int j=0;j<=301;j++){
13             for(int w=0;w<=301;w++){
14                 if(!a[i][j][w]){
15                     for(int t=i+1;t<=301;t++)a[t][j][w]=1;
16                     for(int t=j+1;t<=301;t++)a[i][t][w]=1;
17                     for(int t=w+1;t<=301;t++)a[i][j][t]=1;
18                     
19                     for(int t=1;t+i<=301&&t+j<=301;t++)a[i+t][j+t][w]=1;
20                     for(int t=1;t+j<=301&&t+w<=301;t++)a[i][j+t][w+t]=1;
21                     for(int t=1;t+i<=301&&t+w<=301;t++)a[i+t][j][w+t]=1;
22                 }
23             }
24         }
25     }
26     while(~scanf("%d%d%d",&m,&n,&k)){
27         printf("%d\n",a[m][n][k]);
28     }
29     return 0;
30 }
View Code

 

posted @ 2017-12-18 18:47  鲸头鹳  阅读(262)  评论(0编辑  收藏  举报