zoukankan      html  css  js  c++  java
  • zoj 3057 Beans Game 博弈论

    思路:三维DP,刚开始用记忆化搜索,MLE……

    后来改为直接预处理所有的情况。

    总之就是必败态的后继是必胜态!!!

    代码如下:

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cmath>
     4 #include<algorithm>
     5 #include<cstring>
     6 #include<set>
     7 #include<vector>
     8 #define ll long long
     9 #define M 302
    10 #define inf 1e10
    11 #define mod 1000000007
    12 using namespace std;
    13 bool dp[M][M][M];
    14 int main()
    15 {
    16     int a,b,c,t;
    17     memset(dp,0,sizeof(dp));
    18     for(int i=0;i<=300;i++)
    19     for(int j=0;j<=300;j++)
    20     for(int k=0;k<=300;k++){
    21         if(!dp[i][j][k]){
    22             for(t=1;t+i<=300;t++)
    23                 dp[i+t][j][k]=1;
    24             for(t=1;t+j<=300;t++)
    25                 dp[i][j+t][k]=1;
    26             for(t=1;t+k<=300;t++)
    27                 dp[i][j][k+t]=1;
    28             for(t=1;t+i<=300&&t+j<=300;t++)
    29                 dp[i+t][j+t][k]=1;
    30             for(t=1;t+i<=300&&t+k<=300;t++)
    31                 dp[i+t][j][k+t]=1;
    32             for(t=1;t+j<=300&&t+k<=300;t++)
    33                 dp[i][j+t][k+t]=1;
    34         }
    35     }
    36     while(scanf("%d%d%d",&a,&b,&c)!=EOF){
    37         printf("%d
    ",dp[a][b][c]);
    38     }
    39     return 0;
    40 }
    View Code
  • 相关阅读:
    链表的相关操作
    【回溯】旅行商问题
    【回溯】图的m着色问题
    奶牛卧室_待解决
    阶乘问题
    子数整数
    hihoCoder week4 Trie图
    hihoCoder week3 KMP算法
    hihoCoder week2 Trie树
    hihoCoder week1 最长回文子串
  • 原文地址:https://www.cnblogs.com/xin-hua/p/3343590.html
Copyright © 2011-2022 走看看