• hdu 1404 Digital Deletions 夜


    http://acm.hdu.edu.cn/showproblem.php?pid=1404

    DP  +  博弈论

    找奇异状态  能到达奇异状态的为 非奇异状态  怎么走都到非奇异状态的为奇异状态

    代码:

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<string>
    #include<vector>
    #include<queue>
    #include<map>
    #include<stack>
    #include<algorithm>
    
    using namespace std;
    //#pragma comment(linker,"/STACK:1000000000,1000000000")
    
    #define LL long long
    
    const int INF=0x3f3f3f3f;
    const int N=10000000;
    short int fail[N];
    int dp(int x)
    {
        if(fail[x]!=0)
        return fail[x];
        if(x<10)
        {
            if(x==1)
            fail[x]=1;
            else
            fail[x]=-1;
            return fail[x];
        }
        for(int i=x,k=1;i>1;i=i/10,k=k*10)
        {
            int w=i%10;
            for(int j=1;j<w;++j)
            {
                if(dp(x-j*k)==1)
                fail[x]=-1;
            }
            if(w==0)
            {
                if(dp(i/10)==1)
                fail[x]=-1;
                continue;
            }
            if(i>=10)
            {
                if(dp(x-w*k)==1)
                fail[x]=-1;
            }
        }
        if(fail[x]==0)
        fail[x]=1;
        return fail[x];
    }
    int main()
    {
        //freopen("data.txt","r",stdin);
        memset(fail,0,sizeof(fail));
        char s[10];
        while(gets(s))
        {
            if(s[0]=='0')
            {printf("Yes\n");continue;}
            int k=1;
            for(int i=0;s[i]!='\0';++i)
            {
                k=k*10+s[i]-'0';
            }
            if(dp(k)==1)
            printf("No\n");
            else
            printf("Yes\n");
        }
        return 0;
    }
    
  • 相关阅读:
    学习HTML-第一章HTML基础
    javascript中apply 和 call 的区别
    数据库
    贝叶斯公式的直观理解(先验概率/后验概率)
    4-决策树
    消息队列
    RESTful api 设计规范
    MySql索引
    MySQL并发控制
    MySQL三层逻辑架构
  • 原文地址:https://www.cnblogs.com/liulangye/p/2717905.html
Copyright © 2020-2023  润新知