码迷,mamicode.com
首页 > 其他好文 > 详细

51 Nod 1072 威佐夫游戏(简单博弈)

时间:2017-10-09 21:06:51      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:wap   str   color   target   ==   turn   相同   www   typedef   

题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1072

题意:有2堆石子。A B两个人轮流拿,A先拿。每次可以从一堆中取任意个或从2堆中取相同数量的石子,但不可不取。拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出2堆石子的数量,问最后谁能赢得比赛。

例如:2堆石子分别为3颗和5颗。那么不论A怎样拿,B都有对应的方法拿到最后1颗。
题解:威佐夫博弈裸题
 1 #include <cmath>
 2 #include <iostream>
 3 #include <algorithm>
 4 using namespace std;
 5 
 6 typedef long long LL;
 7 const int INF=0x3f3f3f3f;
 8 
 9 int main(){
10     int t,x,y,tmp;
11     cin>>t;
12     while(t--){
13         cin>>x>>y;
14         if(x>y) swap(x,y);
15         tmp=(y-x)*(0.5*(1+sqrt(5.0)));
16         if(tmp==x) cout<<"B"<<endl;
17         else cout<<"A"<<endl;
18     }    
19     return 0;
20 }

 

51 Nod 1072 威佐夫游戏(简单博弈)

标签:wap   str   color   target   ==   turn   相同   www   typedef   

原文地址:http://www.cnblogs.com/Leonard-/p/7642582.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!