Good Luck in CET-4 Everybody!
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 16867 Accepted Submission(s): 10606

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

#include <iostream>using namespace std;
const int N = 1e3;
int sg[N],f[N];
int mex(int n)
{int res = 0;for(int i = 0; ; i++){if(!f[i]){res = i;break;}}for(int i = 0; i <= n; i++)f[i] = 0;return res;
}
int getSg()
{for(int i = 1; i <= N; i++){int maxx = -1;for(int j = 0; (1<<j) <= i; j++){f[sg[i-(1<<j)]] = 1;maxx = max(maxx,sg[i-(1<<j)]);}sg[i] = mex(maxx);}
}
int main()
{int n;getSg();while(cin>>n){cout<<(sg[n]?"Kiki":"Cici")<<endl;}return 0;
}

hdu1847(博弈论:sg函数)相关推荐

  1. hdu1847-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 ...

  2. [AcWing] 1319.移棋子游戏 博弈论 Sg函数板子题

    题目链接:1319.移棋子游戏 题解 好久没写博弈论的题了,写几道复习一下,博弈论SG主要由两大部分组成:SG函数和SG定理 SG(x)=mex(S),其中S是x的后继状态的SG函数值集合,mex(S ...

  3. 网络与社会导论博弈论SG函数

    课上学习纳什均衡之后,经查找博理论相关资料,了解到巴什博奕.威佐夫博弈和SG函数等经典的模型,而SG函数正是处理一些博弈论问题的很好的办法,下面对其进行介绍. 我们来研究一个一般的游戏:给定一个有向无 ...

  4. 2016多校联合训练1 B题Chess (博弈论 SG函数)

    题目大意:一个n(n<=1000)行,20列的棋盘上有一些棋子,两个人下棋,每回合可以把任意一个棋子向右移动到这一行的离这个棋子最近的空格上(注意这里不一定是移动最后一个棋子),不能移动到棋盘外 ...

  5. 【NOI模拟赛】纸老虎博弈(博弈论SG函数,长链剖分)

    题面 某天,C 和 K 觉得很无聊,于是决定玩一个经典小游戏: 在一棵有 nnn 个结点的有根树上,标号为 iii 的节点上有 aia_iai​ 个棋子.游戏时玩家轮流操作,每次可以将任意一个节点 u ...

  6. 博弈论-SG函数和SG定理

    1.SG函数和SG定理是一个十分神奇的东西,有了它,绝大部分的博弈都可以被统一到这个上面,都可以使用SG函数解决.是一种解决博弈问题的十分方便的手段. 2.首先给出一些基本的定义:mex运算,这个是作 ...

  7. 博弈论SG函数-算法介绍及例题

    一. 基本概念: 1.  Impartial Combinatorial Games(ICG) 公平组合游戏: 1. 两名选手 2. 交替进行某种游戏规定的操作,每操作一次,选手可以在有限的操作(操作 ...

  8. hdu1847(SG函数)

    Good Luck in CET-4 Everybody! 大学英语四级考试就要来临了,你是不是在紧张的复习?也许紧张得连短学期的ACM都没工夫练习了,反正我知道的Kiki和Cici都是如此.当然,作 ...

  9. 博弈论sg函数——《移旗子游戏》《剪纸游戏》

    传送门:移棋子游戏 思路:按照sg函数定义,在这道题里面,不能移动的状态就是终点态,sg值设为0,其余所有的点的sg函数值就是属于其所有后继节点的sg函数值组成的集合里面非集合元素的最小的一个数字,也 ...

  10. CF1369F-BareLee【博弈论,SG函数】

    正题 题目链接:https://www.luogu.com.cn/problem/CF1369F 题目大意 TTT次游戏,每次给出一个sss和ttt,两个人轮流操作,可以让s=s+1s=s+1s=s+ ...

最新文章

  1. 计算机配置中无可移动设备访问,USB连接正常,但是我的电脑中不显示可移动 – 手机爱问...
  2. 数据结构实验之图论二:图的深度遍历(DFS)
  3. LeetCode Algorithm 240. 搜索二维矩阵 II
  4. String类能被继承吗,为什么?
  5. plsql提示列快捷键_plsql常用快捷键
  6. python+flask编写一个简单的登录接口例子
  7. 追新求快的时代,别让 Java Web 开发必备工具 Tomcat 变成“熟悉的陌生人”!
  8. Linux进程间通信——消息队列
  9. spring mvc 解决csrf跨站请求攻击
  10. linux支持hd610显卡吗,奔腾G4560核显怎么样且HD610相当于什么级别的显卡?
  11. 小红书数据分析工具丨借助数据教你分分钟锁定优质达人
  12. 基于labview的虚拟简单信号发生器
  13. 骞云再获阿里云产品生态集成认证,携手共建云原生管理新生态
  14. SOA详解微服务与SOA的关系
  15. python mysql limit_数据库mysql中LIMIT取值
  16. 黑群晖安装常见问题以及资源分享
  17. Android_版本控制_Git命令行介绍和使用说明
  18. Java笔记——数据库05
  19. 实体间的联系存在着( )_医药零售的网络销售与实体渠道如何协同
  20. 稚晖君被曝离职华为!两年前加入华为天才少年计划,下一步创业方向可能是机器人!...

热门文章

  1. python文档的查看-python文件信息查看和修改
  2. python序列5位置_Python序列构成的数组
  3. apache poi 修改docx表格_word 模板内容的替换和生成word 表格(使用poi)
  4. 7z001怎么解压在安卓手机上面_安卓手机能打开eif文件吗 手机怎么打开eip文件方法...
  5. python入门区块链技术_区块链入门教程
  6. cgi硬盘安装增强版怎么用_天津专业补光灯怎么用-安装
  7. 解决ubuntu中vi不能正常使用方向键与退格键的问题
  8. 一些著名的软件都用什么语言编写?
  9. 卧槽!12个杭州阿里高学历女员工被初中男骗财骗色1900多万!骗子冒充有钱佬!开豪车保时捷勾搭妹子,法院判无期徒刑!...
  10. 你们需要的数据集,都给准备好了!