• hdu 1847


    转载自:http://blog.csdn.net/hzxph/article/details/6660726

    当我知道,这代码的长度时,我彻底无语了,这如果是比赛时这样的题目做不出来,我想我会

    倍受打击,我想不到……………………………………………………………………………………………………

                  找必败点,很容易知道当剩下3时,这是一个必败点,又每一个数减1或减2都可以成为3的倍数,意识到这点大概就会做了,

    因为假如这个n不是3的倍数,那么我们总可以让它减1或减2变成3的倍数,而作为3的倍数对手是不可能一次就拿完的说,这样一直下去…………………………最终先手者一定有机会把它变成3,或是后手者自杀,故意留给先手者2的k次幂,这样就也是胜利者,所以说

    3的倍数就是必败点,

    令我无语的代码:

    #include<iostream>

    using namespace std;

    int main()
    {
    int n;
    while(cin >>n){
    if(n%3)
    cout <<"Kiki" <<endl;
    else
    cout <<"Cici" <<endl;
    }
    return 0;
    }

    转载:http://blog.csdn.net/hzxph/article/details/6660726

  • 相关阅读:
    随机ID添加
    学生ID查询
    node.js基础
    冒泡排序
    循环判断语句
    vue.js详细教程--优优优
    final注意事项
    HashMap Hashtable区别
    java中间件
    JSP错误页面
  • 原文地址:https://www.cnblogs.com/create/p/2797596.html
Copyright © 2020-2023  润新知