小C和小L是好朋友,她们在玩一个游戏。 
一开始有一个大小为n的石子堆,小C先手。 
每次可以对这个石子堆拿走一个或者把这个石子堆分成等量的几份并只取其中一份(不能不变或只剩下一个)。 
如果取走最后一个人的算败,请问这个游戏小C是否能胜。 
Input一行表示数据组数Tcases(Tcases<=1,000)。 
后面Tcases行每行一个n(n<=1,000,000,000)。Output有Tcases行对于先手获胜输出“TAK”,先手狗带输出“NIE”。Sample Input

1
5

Sample Output

NIE
/*
最简单的做法就是找规律了,直接搜一下就能获得所有的胜负态。
仔细观察可以发现质数除了2和17就是败的,合数除了16,34和289都是赢的。
感觉这样是不太科学的,那就来讲讲道理。
我们发现2,4,8都是赢的,而16的后继状态都是赢的,所以它是败的,而2^n(n>4)都能转化到16。
同样的我们能说明17和2^n 17^m。
我们考虑一个合数,它的因数肯定有个败态的,它就必胜了。
这样也就说明了质数是必败了。
*/
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
using namespace std;
int main(){
int t,n;
scanf("%d",&t);
while(t--){
scanf("%d",&n);
int temp=n;
for(int i=;i*i<=temp;i++)
while(temp%i==)temp/=i;
if(temp==n){
if(n==||n==)printf("TAK\n");
else printf("NIE\n");
}
else{
if(n==||n==||n==)printf("NIE\n");
else printf("TAK\n");
}
}
return ;
}

AC代码 打表找规律

#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
using namespace std;
const int maxn = 1e7 + ;
int dp[maxn];//dp[i]表示当有i个石子并且先手先取,先手能否获胜
int dfs(int x){
if(x<maxn&&dp[x]!=-)return dp[x];
for(int i=;i*i<=x;i++){
if((x%i==)&&(!dfs(i)||!dfs(x/i))){
if(x<maxn)return dp[x]=;
else return ;
}
}
if(!dfs(x-)){ //这里一定要放在后面
if(x<maxn)return dp[x]=;
else return ;
}
if(x<maxn)return dp[x]=;
else return ;
}
int main(){
int t,n;
memset(dp,-,sizeof(dp));
dp[]=;dp[]=;
dp[]=;dp[]=;
cin>>t;
while(t--){
scanf("%d",&n);
if(dfs(n))cout<<"TAK"<<endl;
else cout<<"NIE"<<endl;
}
return ;
}

AC代码 记忆化搜索

51nod 1831 小C的游戏的更多相关文章

  1. 51nod 1831 小C的游戏(博弈论+打表)

    比较坑的题目. 题意就是:给出一堆石子,一次操作可以变成它的约数个,也可以拿只拿一个,不能变成一个,最后拿的人输. 经过打表发现 几乎所有质数都是先手必败的,几乎所有合数都是先手必胜的 只有几个例外, ...

  2. 51nod 1831: 小C的游戏(Bash博弈 找规律)

    题目链接 此类博弈不需要考虑sg函数,只需要确定必胜态和必败态,解题思路一般为打败先打表找规律,而后找规律给出统一的公式.打表方式:给定初始条件(此题中为ok[0]=ok[1]=0),然后从低到高枚举 ...

  3. BZOJ_1022_[SHOI2008]_小约翰的游戏John_(博弈论_反Nim游戏)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1022 反Nim游戏裸题.详见论文<组合游戏略述——浅谈SG游戏的若干拓展及变形>. ...

  4. SHOI2008小约翰的游戏John

    1022: [SHOI2008]小约翰的游戏John Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 1139  Solved: 701[Submit][ ...

  5. BZOJ2464: 中山市选[2009]小明的游戏

    2464: 中山市选[2009]小明的游戏 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 280  Solved: 124[Submit][Statu ...

  6. bzoj 1022: [SHOI2008]小约翰的游戏John anti_nim游戏

    1022: [SHOI2008]小约翰的游戏John Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 1189  Solved: 734[Submit][ ...

  7. BZOJ 1022 [SHOI2008]小约翰的游戏John

    1022: [SHOI2008]小约翰的游戏John Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 1635  Solved: 1036[Submit] ...

  8. 6、Cocos2dx 3.0游戏开发找小三之游戏的基本概念

    重开发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27689713 郝萌主友情提示: 人是习惯的产物,当你 ...

  9. 1022: [SHOI2008]小约翰的游戏John

    1022: [SHOI2008]小约翰的游戏John Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 1322  Solved: 829[Submit][ ...

随机推荐

  1. Eclipse for PHP Developers使用笔记

    1 修改字体样式:Window-->Preference-->General-->Appearance-->Basic-->text font-->edit

  2. LightOJ - 1284 Lights inside 3D Grid —— 期望

    题目链接:https://vjudge.net/problem/LightOJ-1284 1284 - Lights inside 3D Grid    PDF (English) Statistic ...

  3. 【LeetCode】种花问题

    假设你有一个很长的花坛,一部分地块种植了花,另一部分却没有.可是,花卉不能种植在相邻的地块上,它们会争夺水源,两者都会死去. 给定一个花坛(表示为一个数组包含0和1,其中0表示没种植花,1表示种植了花 ...

  4. 分布式任务调度平台XXL-Job搭建

    下载: https://github.com/xuxueli/xxl-job 下载 然后倒入到自己的工程里面 引入后: 导入数据:跑一边 导入: 修改: Window -->show view- ...

  5. elementaryos必装软件

    所使用版本:elementaryos-0.4-stable-amd64.20160909.iso vmtools jdk sougouinput IntellijIEAD

  6. 博客和GitHup链接地址

    硕哥博客链接:http://www.cnblogs.com/999-/p/6073601.html 硕哥GitHup链接:https://github.com/xiaodoufu

  7. spring-data详解之spring-data-jpa:简单三步快速上手spring-data-jpa开发

    前言: 基于spring framework 4.x或spring boot 1.x开发环境 务必注意以下版本问题:Spring framework4.x(Spring boot1.x)对应sprin ...

  8. dubbo的扩展点重构

    可扩展设计是框架要重点考虑的设计,因为它直接影响到框架的稳定性和功能的扩展,Dubbo扩展点重构.它在扩展性设计上踩过的坑,值得框架设计者借鉴学习. 第一步,微核心,插件式,平等对待第三方 即然要扩展 ...

  9. Java多线程加强

    一.传统多线程 public void start() Causes this thread to begin execution; the Java Virtual Machine calls th ...

  10. 怎么看时序图--nand flash的读操作详解

    出处:http://blog.chinaunix.net/uid-28852942-id-3992727.html 这篇文章不是介绍 nand flash的物理结构和关于nand flash的一些基本 ...