Good Luck in CET-4 Everybody!

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2525    Accepted Submission(s): 1585

Problem Description
大学英语四级考试就要来临了,你是不是在紧张的复习?也许紧张得连短学期的ACM都没工夫练习了,反正我知道的Kiki和Cici都是如此。当然,作为在考场浸润了十几载的当代大学生,Kiki和Cici更懂得考前的放松,所谓“张弛有道”就是这个意思。这不,Kiki和Cici在每天晚上休息之前都要玩一会儿扑克牌以放松神经。
“升级”?“双扣”?“红五”?还是“斗地主”?
当然都不是!那多俗啊~
作为计算机学院的学生,Kiki和Cici打牌的时候可没忘记专业,她们打牌的规则是这样的:
1、  总共n张牌;
2、  双方轮流抓牌;
3、  每人每次抓牌的个数只能是2的幂次(即:1,2,4,8,16…)
4、  抓完牌,胜负结果也出来了:最后抓完牌的人为胜者;
假设Kiki和Cici都是足够聪明(其实不用假设,哪有不聪明的学生~),并且每次都是Kiki先抓牌,请问谁能赢呢?
当然,打牌无论谁赢都问题不大,重要的是马上到来的CET-4能有好的状态。

Good luck in CET-4 everybody!

Input
输入数据包含多个测试用例,每个测试用例占一行,包含一个整数n(1<=n<=1000)。
Output
如果Kiki能赢的话,请输出“Kiki”,否则请输出“Cici”,每个实例的输出占一行。
Sample Input
1 3
Sample Output
Kiki Cici
Author
lcy
Source
ACM Short Term Exam_2007/12/13
Recommend
lcy
开始重新学习博弈了。。。博弈最常用的是PN分析和SG值。
这题我用的PN分析做的。
所谓P点就是必败点,就是假如这个人面对这个点,这个人必败。
N点就是必胜点,就是可以必胜。
N点总可以有一种方法到达P点。就是说假如自己这个是N点,就是必胜点,那肯定有一种方法变成P点,让对方必败。否则就不叫必胜点了。
相反P点只能到达N点。
首先对于本题:先找终结点0,0是P点。能够一步到达P点的是N点。所以 1 2 4 8 16····都是N点。
接下来找下一个P点。。。3没有标记,肯定是P点了。。。这样类推下去。
#include<stdio.h>
#include<iostream>
#include<string.h>
using namespace std;
const int MAXN=1010;
bool ff[MAXN];void init()
{memset(ff,false,sizeof(ff));for(int i=0;i<MAXN;i++)if(ff[i]==false)//必败点
      {int temp=1;while(i+temp<MAXN){ff[i+temp]=true;temp<<=1;}}
}int main()
{init();int n;while(scanf("%d",&n)!=EOF){if(ff[n])printf("Kiki\n");else printf("Cici\n");}return 0;
}

HDU 1847 Good Luck in CET-4 Everybody!(组合博弈)相关推荐

  1. HDU 1847 Good Luck in CET-4 Everybody! (巴什博弈)

    Good Luck in CET-4 Everybody! Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K ...

  2. HDU 1847 Good Luck in CET-4 Everybody! 尼姆博弈

    点击打开链接 Good Luck in CET-4 Everybody! Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/3 ...

  3. HDU 1847 Good Luck in CET-4 Everybody!(巴什博弈论)

    题目地址:HDU 1847 这题可以用NP状态转换. 首先0的时候就代表无法出牌了,所以是必败态.然后根据每一个可以一步到达必败态的是必胜态,不可以一步到达必败态的是必败态.可以推出状态转移方程,然后 ...

  4. HDU 1847 Good Luck in CET-4 Everybody

    题目链接:​​​​​​Problem - 1847 (hdu.edu.cn) Problem Description 大学英语四级考试就要来临了,你是不是在紧张的复习?也许紧张得连短学期的ACM都没工 ...

  5. HDU 1847 ——Good Luck in CET-4 Everybody!

    Good Luck in CET-4 Everybody! Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K ...

  6. HDU 1847 Good Luck in CET-4 Everybody! (sg函数)

    Good Luck in CET-4 Everybody! Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K ...

  7. HDU(1847)Good Luck in CET-4 Everybody!

    利用PN分析求解此题.递推下去会发现3和3的倍数都是P点. #include <iostream> #include <stdio.h> #include <string ...

  8. HDU 1847 Good Luck in CET-4 Everybody!

    当对手面对3的时候,你就已经赢了,所以,尽可能的给对手剩下3,那么只要n是3的倍数就 是Cici赢,不是的话,Kiki会想办法给Cici留下3. #include<stdio.h>int ...

  9. HDU - 1847 Good Luck in CET-4 Everybody!(sg函数,水题)

    题目链接:点击查看 题目大意:给出n张牌,两个人轮流摸牌,每次只能摸2的幂次,问先手必胜还是必败 题目分析:简单sg打表题,先预处理出sg表,然后O(1)查询即可 #include<iostre ...

最新文章

  1. SET-UID程序漏洞实验
  2. svn服务器搭建-SuSE Linux Enterprise Server 11 SP3
  3. 正则表达式的\b与\B总结
  4. 手把手教你封装一个ant design的审核框组件
  5. java调用shell脚本及注意事项
  6. 关于虚数i和欧拉公式对旋转的一点启示
  7. STM32学习——ADC采集
  8. 饿了么2020外卖备注图鉴:12个关键词覆盖我们的生活
  9. Hyperledger Fabric 实战(十): Fabric node SDK 样例 - 投票DAPP
  10. hadoop学习使用
  11. java拼接sql字符串
  12. 24AA512/24LC512/24FC512系列器件中文翻译
  13. 计算机自检报错无法开机,电脑开机不自检无显示是怎么回事?
  14. librosa实现音频格式转换(单曲批量) | MP3转wav
  15. Uniapp|Vue-汉字转拼音|获取汉字的首字母js实现
  16. 【UE4】HUD(蓝图)
  17. 用selenium爬取拉勾网职位信息及常见问题处理
  18. openstack核心组件-块存储 (Block Storage) : Cinder
  19. linux操作系统下c语言编程入门
  20. 基于Python根据置信度区间计算植被覆盖度

热门文章

  1. 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  2. jinchuang正文 nginx配置limit_conn_zone来限制并发连接数以及下载带宽
  3. 数据中心未来会被以太网交换器商用IC占领吗?
  4. 从蜘蛛网到物联网 这张网人类织了多久?
  5. linux运维人员必会运维工具
  6. hdu 1003 dp
  7. Jquery UI dialog 详解 (中文)
  8. 使用java进行erlang字符解析
  9. ZooKeeper 的典型应用场景
  10. Day1 - Python基础1作业【编写登陆接口】