zoukankan      html  css  js  c++  java
  • hdu3649(取石子博弈+dp)

    #include <cstdio>
    int f[10][10][10];
    bool vis[10][10][10];
    
    int dp(int a, int b, int c) {
        if (vis[a][b][c])
            return f[a][b][c];
        int& ans = f[a][b][c];
        vis[a][b][c] = true;
        for (int i = 0; i < b; ++i)
            if (!dp(a, i, c))
                return ans = 1;
        for (int i = 0; i < c; ++i)
            if (!dp(a, b, i))
                return ans = 1;
        if (a && !dp(a - 1, b, c))
            return ans = 1;
        return ans = 0;
    }
    
    int main() {
        for (int i = 0; i < 10; ++i)
            for (int j = 0; j < 10; ++j) {
                vis[0][i][j] = true;
                f[0][i][j] = 1;
            }
        int n;
        while(scanf("%d",&n)==1) {
            int a,b,c,d;
            int aa,bb,cc,dd;
            scanf("%d%d%d%d",&a,&b,&c,&d);
            scanf("%d%d%d%d",&aa,&bb,&cc,&dd);
            a=aa-a-1;
            b=bb-b-1;
            c=cc-c-1;
            int ans = dp(a, b, c);
            if(ans==1)
                printf("%s
    ",n==0?"Red":"Black");
            else
                printf("%s
    ",n==1?"Red":"Black");
        }
        return 0;
    }
  • 相关阅读:
    基础数据类型补充
    编码转换
    is 和 == 的区别
    字典 dict
    列表与元组
    python基础第一节
    poll函数
    基本 TCP 的回射服务器
    文件IO
    base | AtomicIntegerT类
  • 原文地址:https://www.cnblogs.com/sbaof/p/3357701.html
Copyright © 2011-2022 走看看