取(2堆)石子游戏(杭电2177)
来源:互联网 发布:淘宝怎么举报卖家店铺 编辑:程序博客网 时间:2024/05/10 23:14
取(2堆)石子游戏
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1175 Accepted Submission(s): 706
Problem Description
有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。如果你胜,你第1次怎样取子?
Input
输入包含若干行,表示若干种石子的初始情况,其中每一行包含两个非负整数a和b,表示两堆石子的数目,a和b都不大于1,000,000,且a<=b。a=b=0退出。
Output
输出也有若干行,如果最后你是败者,则为0,反之,输出1,并输出使你胜的你第1次取石子后剩下的两堆石子的数量x,y,x<=y。如果在任意的一堆中取走石子能胜同时在两堆中同时取走相同数量的石子也能胜,先输出取走相同数量的石子的情况.
Sample Input
1 2 5 84 72 20 0
Sample Output
014 73 5010 01 2/*本题还是威佐夫博弈。利用重要性质:任何自然数都包含在一个且仅有一个奇异局势中。奇异局势即必败点,想要理解威佐夫博弈,在百度文库博弈入门有详细解释 *//*核心思路:以m[k],n[k]为界限来分析,就是3种情况(1)如果a>m[k],b>n[k],自然的剩下的石子数量就是a[k],b[k];(2)如果a<m[k](b<n[k]),然后你就需要在m[k]之前寻找是不是有m[i]或者b[i]和a相等,是不是有m[i]或者n[i]和b相等,当然了有的情况是不需要考虑的因为是不可能出现的。(3),如果a=m[k],那么你就挂了。*/#include<stdio.h>#include<math.h>int a[1000010];int b[1000010];int main(){int m,n,t,k,i; a[0]=0,b[0]=0; a[1]=2,b[1]=1;for(i=2;i<1000010;i++) //先打表。 {b[i]=i*(1+sqrt(5))/2;a[i]=b[i]+i;}while(scanf("%d %d",&m,&n)!=EOF&&(m+n)){if(m<n);{t=m;m=n;n=t;}k=m-n;if(n==b[k]){ printf("0\n"); continue; }else //核心思路的代码。 { printf("1\n"); if(n<b[k]) { for(i=1;i<n;i++){ if(n==b[i]&&m>a[i]) printf("%d %d\n",b[i],a[i]); if(m==a[i]&&n>b[i]) printf("%d %d\n",b[i],a[i]); } } if(n>b[k]) { printf("%d %d\n",b[k],a[k]); for(i=1;i<n;i++) { if(n==a[i]&&m>b[i]) printf("%d %d\n",b[i],a[i]); if(n==b[i]&&m>a[i]) printf("%d %d\n",b[i],a[i]); } } } } return 0;}
0 0
- 取(2堆)石子游戏(杭电2177)
- 杭电 2176 取(m堆)石子游戏(博弈)
- acm杭电HDU2177取(2堆)石子游戏(威佐夫博弈)
- 取(m堆)石子游戏 杭电2176
- 取石子游戏(杭电1527)
- 取石子游戏(杭电1527)
- hdu 2177 取(2堆)石子游戏
- hdu 2177 取(2堆)石子游戏
- HDU 2177 取(2堆)石子游戏
- hdu 2177 取(2堆)石子游戏
- HDU 2177 取(2堆)石子游戏
- hdu 2177 取(2堆)石子游戏
- HDU 2177 取(2堆)石子游戏
- HDOJ-2177 取(2堆)石子游戏
- HDU 2177 取(2堆)石子游戏
- 【hdu 2177】取(2堆)石子游戏
- HDU 2177 取(2堆)石子游戏
- HDU 2177 取(2堆)石子游戏
- Visual Studio 2013开发 mini-filter driver step by step (11) driver 签名
- 网站发布—图解Win7旗舰版中的IIS配置asp.net运行环境(一)
- DedeCMS : 你的用户名不存在?
- PO订单审批拒绝API
- PHP内部(内置)函数
- 取(2堆)石子游戏(杭电2177)
- 设计模式个人备忘(享元模式,strategy, templete strategy)
- 最大回文字串长度-manacher算法
- 九度oj题目&吉大考研11年机试题全解
- 魔兽争霸war3心得体会(四):不死族vs人族1本火魔塔
- SHBrowseForFolder函数
- 360网站安全检测平台4月所爆DEDECMS高危漏洞的修复方案
- sgu127:Telephone directory
- 把WCF发布到iis上出现HTTP 404.3 Not Found的解决方法