Cogs 2546. 取石块儿(博弈)
来源:互联网 发布:网络剧《余罪》 编辑:程序博客网 时间:2024/05/16 23:38
- 取石块儿
★ 输入文件:tstones.in 输出文件:tstones.out 简单对比
时间限制:1 s 内存限制:256 MB
问题描述
小L和小T进行取石块儿游戏,给定一个整数n表示石块儿总数,给定一个整数k表示每次最多能拿走的石块儿数量,小L先手,每次能拿走1~k个石块儿,他们中总会有一个人最后拿走s块儿石块儿,使得剩余石块儿数量为0,则最后一个拿走剩下石块儿的人获胜,另外一个人失败。小T非常聪明,小L绝顶(秃子(逃))聪明,请判断小T是否能取胜。
输入格式
第一行一个整数T表示数据组数,接下来T行每行两个整数n,k意义为描述所给。
输出格式
对于每组数据,输出”YES”或者”NO”(不带引号),代表小T是否能够获胜。
输入样例
2
2 1
10 4
输出样例
YES
YES
数据范围
大胆骗分出奇迹!
对于10%的数据,1≤k≤n≤5
对于另外10%的数据,k=1,1≤n≤10000
对于另外20%的数据,1≤k≤n≤1000,T≤10
对于另外40%的数据,1≤k≤n≤unsigned int
对于全部的测试数据,1≤k≤n≤unsigned long long,1≤T≤1000000
/*博弈.当n<=k时,显然先手必胜.否则n=k+1时先手必败.n属于[k+2,2k+1]时,总能回到n=k+1的状态,所以先手必胜.同理 n=2(k+1),3(k+1)时先手必败......所以 k+1|n时先手必败否则先手必胜.*/#include<cstdio>#define LL unsigned long longusing namespace std;LL t,n,k;inline LL read(){ LL x=0;char ch=getchar(); while(ch<'0'||ch>'9') ch=getchar(); while(ch>='0'&&ch<='9') x=x*10+ch-48,ch=getchar(); return x;}int main(){ freopen("tstones.in","r",stdin); freopen("tstones.out","w",stdout); t=read(); while(t--) { n=read(),k=read(); if(n%(k+1)==0) printf("YES\n"); else printf("NO\n"); } return 0;}
0 0
- Cogs 2546. 取石块儿(博弈)
- Cogs 56. 质数取石子(博弈)
- Cogs 452. Nim游戏!(博弈)
- Cogs 763. [USACO Open09] 数字的游戏(博弈)
- 10.取球博弈
- 威佐夫博弈-取石子
- 取球博弈--蓝桥杯
- 博弈---取石子游戏
- 取石子游戏+博弈
- 博弈-取石子
- 取球游戏【博弈】
- 取石子 博弈
- 【博弈】下棋、取石子、。。
- 取石子游戏-博弈
- 取球博弈
- 博弈-取石子游戏
- 蓝桥杯-取球博弈
- 取球博弈
- 【. /】路径详细总结(JAVA工程、WEB工程)
- 混淆一个混淆过的jar包再次打包错误,或者使用混淆过的jar包编译不通过。
- SpringBoot使用可能遇到的问题及解决方法
- 计算日期间相差天数 Java代码实现
- Android 程序后天调转到前台 (栈Task问题)
- Cogs 2546. 取石块儿(博弈)
- Android App 应用发布流程
- windows下配置nginx+php环境
- redis消息队列的实现
- Android内存优化(使用SparseArray和ArrayMap代替HashMap)
- QT中model理解(1)
- Linux下c mysql程序的编译命令 :
- 深入理解BodyTagSupport,包括SKIP_PAGE, EVAL_PAGE
- 一种使用QThread线程的新方法QObject::moveToThread