【HDU 1847】 Good Luck in CET-4 Everybody!

【题目链接】

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

【算法】

           我们知道,每一种状态,要么必胜,要么必败

           记忆化搜索即可

【代码】

           

#include<bits/stdc++.h>
using namespace std;
#define MAXN 1010

int n;
int f[MAXN];

inline bool dfs(int n)
{
        int i;
        if (f[n] != -1) return f[n];
        f[n] = false;
        for (i = 0; i <= 10; i++)
        {
                if (n - (1 << i) >= 0)
                        f[n] |= (!dfs(n-(1<<i)));
        }   
        return f[n];
}
int main() 
{
        
        memset(f,255,sizeof(f));
        f[0] = false;
        while (scanf("%d",&n) != EOF)
        {
                if (dfs(n)) printf("Kiki\n");
                else printf("Cici\n");        
        }
        
        return 0;
    
}

猜你喜欢

转载自www.cnblogs.com/evenbao/p/9298053.html