hdu 1847 - Good Luck in CET-4 Everybody!(简单博弈)

来源:互联网 发布:免费听英语的软件 编辑:程序博客网 时间:2024/05/16 18:15

简单的sg函数的应用。。虽然写出了sg函数,但目前还不理解其中的原理,只好套模板了。

代码如下:

const int M = 1005;int sg[M];void getSG(){        sg[0] = 0;        for(int i = 1; i < M; ++i) {                bool vis[M];                memset(vis, 0, sizeof(vis));                for(int j = 0; (1<<j) <= i; ++j)                        vis[sg[i-(1<<j)]] = 1;                for(int j = 0; ; ++j)                        if(!vis[j]) {                                sg[i] = j;                                break;                        }        }}int main(){        int n;        getSG();        while(~scanf("%d", &n)) {                if(sg[n]) puts("Kiki");                else puts("Cici");        }}