博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 3951 Coin Game (博弈)
阅读量:6034 次
发布时间:2019-06-20

本文共 656 字,大约阅读时间需要 2 分钟。

题意:给你n个硬币排成一圈,编号1-n,只能翻转连续的1~k个的硬币。翻最后一枚硬币者赢。

 

思路:博弈

       1) 若k=1,则一次只能去翻一枚,奇数先手赢,偶数后手赢。

       2)若k>1:

            a: 先手一次翻完,先手赢;

            b: 先手不能翻完,第一次必定断环。只要后手一次翻完,或将其分为相等数量的两段,

               之后先手怎么操作后手就怎么操作,后手必赢。

#include
int main(){ int T; int t=0; int n,k; scanf("%d",&T); while(T--) { t++; scanf("%d %d",&n,&k); if(k==1) { if(n%2==1)printf("Case %d: first\n",t); else printf("Case %d: second\n",t); } else if(k>=n) printf("Case %d: first\n",t); else printf("Case %d: second\n",t); } return 0;}

 

---恢复内容结束---

转载于:https://www.cnblogs.com/XDJjy/archive/2013/04/07/3005881.html

你可能感兴趣的文章
C# CHECKEDLISTBOX控件用法总结(怎样得到多选的值)
查看>>
Python 语言中经常有疑惑的地方
查看>>
使用python+hadoop-streaming编写hadoop处理程序
查看>>
盘点20款表现出众的HTML5游戏
查看>>
菜鸟问题
查看>>
hdu 4421 BitMagic
查看>>
Listview_简单使用_(Virtual)
查看>>
POJ-1195-Mobile phones
查看>>
HDU-1068-GirlsandBoys(最大独立集,二分图匹配)
查看>>
Codeforces Round #564 (Div. 2) A. Nauuo and Votes
查看>>
代替eval执行字符串表达式
查看>>
数据库备份与还原
查看>>
第五周作业
查看>>
echarts
查看>>
srand rand
查看>>
[HDU]2161Primes
查看>>
《零基础入门学习Python》【第一版】视频课后答案第001讲
查看>>
Debian下install JDK
查看>>
SQL Server 中WITH (NOLOCK)浅析
查看>>
关于android SDK安装Failed to fetch URL 的错误解决
查看>>