HDU 1847 Good Luck in CET-4 Everybody!(简单sg函数)

来源:互联网 发布:推荐app的软件 编辑:程序博客网 时间:2024/06/18 00:20

思路:

sg函数表示的状态转移。模板题,跟以前做的一样,有不懂的请看我以前写的别的题,或者去找找相关的资料。

AC代码:

#include <iostream>#include <cstdio>#include <string.h>using namespace std;int dp[1010];int sg(int n){    if(dp[n] != -1)return dp[n];    if(n == 0) return 0;    int k = 1;    int has[12];    memset(has,-1,sizeof(has));    for(int i = 0;;i++){        if(k <= n){            has[sg(n-k)]++;        }        else            break;        k <<= 1;    }    for(int i = 0;i < 12;i++){        if(has[i] == -1)            return dp[n] = i;    }    return 2333333333333333;}int main(){    int n;    memset(dp,-1,sizeof(dp));    while(~scanf("%d",&n)){        if(sg(n))            puts("Kiki");        else            puts("Cici");    }    return 0;}
0 0
原创粉丝点击