Good Luck in CET-4 Everybody!

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

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

ps:最近智商很低、、、

这题可以找规律,就是说当n%3==0时必败态,也可以直接求sg的值

由于有一个小细节没看出来,造成、、、

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int f[10]={1},sg[1001],vis[1001];
int n;
int getsg()
{memset(sg,0,sizeof(sg));for(int i=1;i<=n;i++){memset(vis,false,sizeof(vis));for(int j=0;j<=10&&f[j]<=i;j++){vis[sg[i-f[j]]]=true;for(int j=0;;j++){if(!vis[j]){sg[i]=j;break;}}}}
}
int main()
{for(int i=1;i<=10;i++)f[i]=2*f[i-1];while(cin>>n&&n){getsg();if(sg[n])puts("Kiki");elseputs("Cici");}return 0;
}

Good Luck in CET-4 Everybody!(sg函数模板)相关推荐

  1. 【博弈】SG函数模板 nyoj913取石子(十)

    SG函数模板 源于http://www.cnblogs.com/frog112111/p/3199780.html 首先定义mex(minimal excludant)运算,这是施加于一个集合的运算, ...

  2. 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 (Ja ...

  3. 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 ...

  4. 数学基础(四)博弈论(巴什博弈~威佐夫博弈(黄金分割率)~尼姆博奕~斐波那契博弈~SG函数模板)

    一.巴什博弈 1.问题模型 只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个,最后取光者得胜. 2.解决思路: 当n=m+1时,由于一次最多只能取m个,所以无论先取者拿走多 ...

  5. HDU-1848--博弈SG函数模板题

    这篇文章写的很好,值得转发. 首先定义mex(minimal excludant)运算,这是施加于一个集合的运算,表示最小的不属于这个集合的非负整数. 例如mex{0,1,2,4}=3.mex{2,3 ...

  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. 南昌大学航天杯第二届程序设计竞赛校赛网络同步赛B 取石子(博弈SG函数模板)

    题目链接:取石子 链接:https://www.nowcoder.com/acm/contest/122/B 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65 ...

  8. 小米OJ12月常规赛“数数字”题目详解与SG函数SG定理个人理解

    本文前面的部分讲的是博弈论简单理论与SG函数SG定理的一些理解,后面对小米OJ赛题做详细剖析,最后给出代码的详细解读. 目录 博弈论 P-Position与N-Position SG函数与SG定理 S ...

  9. 组合游戏(Nim游戏)——SG函数

    SG为0的点(必败点)能到达的肯定都是SG不为0的点(必胜点): SG不为0的点(必胜点)一定能通过某种方式到达SG为0的点(必败点). 组合游戏典型例题: 给定n堆石子以及一个由k个不同正整数构成的 ...

最新文章

  1. Maltego更新到4.1.6
  2. Android用户界面设计学习之旅-第三站
  3. 快速生成树(RSTP)和传统生成树(STP)的区别(华为数通HCIE认证面试真题)...
  4. 【渝粤教育】国家开放大学2018年秋季 1306T社会政策 参考试题
  5. 13个好习惯 教你健康一整年
  6. 解决:redis.clients.jedis.exceptions.JedisDataExceptionERR This instance has cluster support disabled
  7. acm用java怎么写_用java来写ACM
  8. 马上就要到了的即时通讯
  9. div.php织梦自定义表判断不能为空,织梦使用if判断某个字段是否为空
  10. Ubuntu18.04没有WiFi怎么解决(图文详解)
  11. rails rake和示例
  12. linux内核学习资料总结
  13. PI实时数据库系统升级
  14. cs224w(图机器学习)2021冬季课程学习笔记8 Colab 2
  15. 原型模型概述及说明情况
  16. 电影《绝望主夫》观后感
  17. 加载Glove预训练词向量到字典
  18. 计算机中丢失Smtpemail,SMTP和ESMTP错误代码列表
  19. 阿里云高级技术专家白常明:边缘云的技术挑战和应用创新
  20. BGP------BGP工作原理、BGP属性及选路原则

热门文章

  1. mac 修改 DNS
  2. macOS SwiftUI 进度指示器组件规范之 01 进度指标是什么 Progress Indicators
  3. OSG_64位动态链接库+静态链接库的使用
  4. 两个超实用的 Kubernetes 集群中 Flannel 故障排除案例
  5. 团体程序设计天梯赛-练习集-L1-031. 到底是不是太胖了
  6. 区块链技术在食品溯源中的应用
  7. Android:通过systrace进行性能分析及使用-详细
  8. 如何通过TXT文件批量生成汉信码
  9. 有没有测试水泥稳定性的软件,水泥稳定碎石基层的试验检测项目有哪些?急 急 急!!!...
  10. 记录ssl证书过期,更新证书的过程