设为首页 加入收藏

TOP

hdu 2177 取(2堆)石子游戏 (威佐夫博奕)
2015-07-20 17:37:44 来源: 作者: 【 】 浏览:3
Tags:hdu 2177 石子 游戏
//,在威佐夫博奕的基础上新增加了一条要求:就是如果在赢得条件下,输出第一步怎么走。
# include 
  
   
# include 
   
     # include 
    
      # include 
     
       # include 
      
        using namespace std; int main() { int a,b,i,k; while(~scanf("%d%d",&a,&b),a+b) { k=b-a; k=k*(sqrt(5.0)+1)/2; if(k==a) printf("0\n"); else { printf("1\n"); for(i=1; i<=a; i++) //取两堆 { int n=a-i; int m=b-i; k=m-n; k=k*(sqrt(5.0)+1)/2; if(k==n)//后手赢 相当与第一次的先手赢 printf("%d %d\n",n,m); } for(i=0; i<=b-1; i++) //只取一堆,取大堆 能得出全部情况 { int n=i; int m=a; if(n>m) swap(n,m); k=m-n; k=k*(sqrt(5.0)+1)/2; if(k==n) printf("%d %d\n",n,m); } } } return 0; } 
      
     
    
   
  

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇poj 1363 Rails 下一篇C++重要知识点整理-思考

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·利用python进行数据 (2025-12-25 20:49:22)
·如何使用 python 中 (2025-12-25 20:49:19)
·零基础如何学爬虫技 (2025-12-25 20:49:17)
·Java 并发工具类:提 (2025-12-25 20:25:44)
·Java面试技巧:如何 (2025-12-25 20:25:41)