51nod 1072 威佐夫游戏V1

原创 2016年08月31日 16:38:19
有2堆石子。A B两个人轮流拿,A先拿。每次可以从一堆中取任意个或从2堆中取相同数量的石子,但不可不取。拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出2堆石子的数量,问最后谁能赢得比赛。
例如:2堆石子分别为3颗和5颗。那么不论A怎样拿,B都有对应的方法拿到最后1颗。
Input
第1行:一个数T,表示后面用作输入测试的数的数量。(1 <= T <= 10000)
第2 - T + 1行:每行2个数分别是2堆石子的数量,中间用空格分隔。(1 <= N <= 2000000)
Output
共T行,如果A获胜输出A,如果B获胜输出B。
Input示例
3
3 5
3 4
1 9
Output示例
B
A
A
分析:黄金分割定律。证明过程参照http://blog.csdn.net/h1021456873/article/details/49748659
代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
	int T; 
	long long a,b,temp;
	scanf("%d",&T);
	while(T--){
		scanf("%lld%lld",&a,&b);
		if(a<b)	swap(a,b);
		temp=(long long)(a-b)*1.0*(sqrt(5)+1)/2;
		if(temp==b)	printf("B\n");
		else printf("A\n");
	}
	return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

51nod 1072 威佐夫游戏 (博弈论)

问题:首先有两堆石子,博弈双方每次可以取一堆石子中的任意个,不能不取,或者取两堆石子中的相同个。先取完者赢。 分析:首先我们根据条件来分析博弈中的奇异局势       第一个(0 , ...
  • h1021456873
  • h1021456873
  • 2015年11月09日 23:50
  • 991

51nod oj 1072 威佐夫游戏 1185 威佐夫游戏 V2【威佐夫博奕】

题目链接:1072 1072 威佐夫游戏 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 有2堆石子。A B两个人轮流拿,...
  • leibniz_zhang
  • leibniz_zhang
  • 2016年08月16日 15:28
  • 609

51Nod-1072-威佐夫游戏

有2堆石子。A B两个人轮流拿,A先拿。每次可以从一堆中取任意个或从2堆中取相同数量的石子,但不可不取。拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出2堆石子的数量,...
  • f_zyj
  • f_zyj
  • 2016年04月21日 19:13
  • 1121

51NOD 1185 威佐夫游戏 V2(博弈论 + 减少精度)

传送门 有2堆石子。A B两个人轮流拿,A先拿。每次可以从一堆中取任意个或从2堆中取相同数量的石子,但不可不取。拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出2堆石...
  • qingshui23
  • qingshui23
  • 2016年07月31日 19:34
  • 1190

51nod 1185 威佐夫游戏 V2(威佐夫博弈)

1185 威佐夫游戏 V2 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 有2堆石子。A B两个人轮...
  • a617350885
  • a617350885
  • 2016年08月30日 20:58
  • 798

51Nod-1185-威佐夫游戏 V2

ACM模版描述有2堆石子。A B两个人轮流拿,A先拿。每次可以从一堆中取任意个或从2堆中取相同数量的石子,但不可不取。拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出2...
  • f_zyj
  • f_zyj
  • 2016年07月27日 00:04
  • 766

51Nod 1072 威佐夫游戏

有2堆石子。A B两个人轮流拿,A先拿。每次可以从一堆中取任意个或从2堆中取相同数量的石子,但不可不取。拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出2堆石子的数量,...
  • gtuif
  • gtuif
  • 2017年06月23日 16:14
  • 93

51nod 1072 威佐夫游戏

简单的博弈论问题 #include #include #include using namespace std; int main() { int t; cin >> t; whil...
  • MrSiz
  • MrSiz
  • 2016年03月04日 13:39
  • 309

51NOD 1072 威佐夫游戏

1072 威佐夫游戏   有2堆石子。A B两个人轮流拿,A先拿。每次可以从一堆中取任意个或从2堆中取相同数量的石子,但不可不取。拿到最后1颗石子的人获胜。假设A B都非常聪明,拿...
  • BING1926
  • BING1926
  • 2018年02月09日 17:59
  • 33

51nod 1072 威佐夫游戏

博弈论,考虑先手必输的情况,然后分析,最后发现1.618的规律,不细说了 //@auther zhou //@Number 201408070203 //@start time: //@finish...
  • mrspot
  • mrspot
  • 2017年04月07日 15:34
  • 209
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:51nod 1072 威佐夫游戏V1
举报原因:
原因补充:

(最多只允许输入30个字)