hdu 1847 Good Luck in CET-4 Everybody! 组合游戏 找规律


题目链接

题意

\(n\)张牌,两人依次摸牌,每次摸的张数只能是\(2\)的幂次,最后没牌可摸的人为负。问先手会赢还是会输?

思路

0   1   2   3   4   5   6   7   8   9   10  11  ……
P   N   N   P   N   N   P   N   N   P   N   N   ……

可归纳出:\(n\%3==0\)时为\(P\)\(n\%3\neq 0\)时为\(N\).

证明:
因为\(2^k\%3\neq 0\)
所以

  1. \(n\%3==0\)只能\((n-2^k)\%3\neq 0\)转移而来,而\((n-2^k)\%3\neq 0\)的状态全部\(N\),故\(n\%3==0\)的状态为\(P\).
  2. \(n\%3\neq 0\)能由某个\((n-2^k)\%3==0\)转移而来,又因为\((n-2^k)\%3==0\)的状态为\(P\),故\(n\%3\neq 0\)的状态为\(N\).

Code

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
int main() {
    int n;
    while (scanf("%d", &n) != EOF) {
        n %= 3;
        if (n) puts("Kiki");
        else puts("Cici");
    }
    return 0;
}
优质内容筛选与推荐>>
1、NDK 链接第三方静态库的方法
2、ruby word操作
3、根据数据库创建TreeView的方法
4、关于IE中的attachEvent函数的this指针问题(转)
5、XML使用练习


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号