威佐夫博弈(模板+减少精度算法)
来源:互联网 发布:恢复以前手机淘宝 编辑:程序博客网 时间:2024/06/05 16:21
1072 威佐夫游戏
基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题
收藏
关注
有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示例
33 53 41 9
Output示例
BAA
相关问题
当n很大时可能会出现精度缺失的问题,因此我们需要模拟乘法
就将0.618033988749894848204586834
折成整数存进数组里
<strong>#include<stdio.h>#include<string.h>#include<stdlib.h>#include<algorithm>#include<limits.h>#include<queue>#include<stack>#include<vector>#include<math.h>#include<map>using namespace std;#define maxn 50005int main(){int T,n,m;scanf("%d",&T);while(T--){scanf("%d%d",&n,&m);int temp;if(n<m){temp=n;n=m;m=temp;}int k=n-m;n=(int)(k*(1+sqrt(5))/2.0);if(n==m) printf("B\n");elseprintf("A\n");}}</strong>
减少精度:
#include<stdio.h>long long t[3] = {618033988, 749894848, 204586834};#define mod 1000000000int main(void){ int T;long long a, b, l, r, ans, temp; scanf("%d", &T);while(T--){ scanf("%lld%lld", &a, &b); if(a>b)temp = a, a = b, b = temp; l = (b-a)/mod;r = (b-a)%mod;ans = ((r*t[2]/mod+(r*t[1]+l*t[2]))/mod+(r*t[0]+l*t[1]))/mod+l*t[0]+b-a;if(ans==a)printf("B\n");elseprintf("A\n"); }}
0 0
- 威佐夫博弈(模板+减少精度算法)
- 51NOD 1185 威佐夫游戏 V2(博弈论 + 减少精度)
- 博弈模板(巴什博奕,威佐夫博弈,尼姆博弈,斐波那契博弈)
- 博弈模板(bash,威佐夫,Nim)
- 威佐夫博弈模板
- 威佐夫博弈模板
- 博弈模板(转载)
- 博弈论模板(巴什博奕,威佐夫博弈,尼姆博弈,斐波那契博弈)
- 经典博弈算法三大模板
- 杭电1527 取石子游戏(威佐夫博弈模板)
- poj 1067 取石子游戏(威佐夫博弈模板)
- hdu 1527 取石子游戏 (威佐夫博弈模板)
- 博弈模板
- 博弈模板
- 博弈入门---(巴什博弈,威佐夫博弈,nim博弈)
- 1072 威佐夫游戏(威佐夫博弈模板)
- hdu 1527 威佐夫博弈模板题
- poj1067 威佐夫博弈模板 取石子游戏
- 1047. Student List for Course (25)
- 在drawable下的文件夹命名不能大写
- android列表框配合BaseAdapter实现列表
- iOS App创建桌面快捷方式
- hdu4739(状态压缩dp+正方形判断)
- 威佐夫博弈(模板+减少精度算法)
- Android 沉浸式状态栏以及 透明状态栏 和修改状态栏颜色
- 拍照/选择相册,图片压缩旋转处理
- 2个鸡蛋100层楼/2个玻璃珠39层楼
- String、StringBuffer与StringBuilder与字符串反转
- 移植u-boot2012.04.1 -》2440 (一)新建单板,第一阶段修改
- 21 Must-Know Data Science Interview Questions and Answers
- Maven学习笔记一
- 1、uboot学习前传