有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 <= 10^18)
Output
共T行,如果A获胜输出A,如果B获胜输出B。
Input示例
3
3 5
3 4
1 9
Output示例
B
A
A
解:众所周知,计算机表示的小数是一定程度内精确的,如本题(sqrt(5.0) + 1) / 2,double只精确到第16位(double保证15到16位有效数字,不是15到16位小数),而本题精度要求却在16位之后,所以我们需要找到更高精度的黄金比例,并且改进计算方式因为直接使用double还是会丢失精度。
 #include<stdio.h>

 #define M (int)1e9

 long long tmp[] = {,, }; //更精确的(sqrt(5.0) + 1) / 2的小数部分

 int main()
{
int t;
while (scanf_s("%d", &t) != EOF)
{
while (t--)
{
long long a, b, temp, num[];
scanf_s("%lld%lld", &a, &b);
if (a < b)
{
temp = a;
a = b;
b = temp;
}
a -= b;
num[] = a / M;
num[] = a % M;
temp = tmp[] * num[];
temp = num[] * tmp[] + num[] * tmp[] + temp / M;
temp = num[] * tmp[] + num[] * tmp[] + temp / M;
temp = num[] * tmp[] + temp / M;
a += temp;
if (a == b) printf("B\n");
else printf("A\n");
}
}
return ;
}

最新文章

  1. RabbitMQ学习系列(三): C# 如何使用 RabbitMQ
  2. Android Activity 切换动画(非原创)
  3. [No00001B]到底如何培养语感?
  4. 2016年11月20日 星期日 --出埃及记 Exodus 20:11
  5. 数据库MySQL常用命令复习
  6. javascript之事件绑定
  7. mysql 5.6 General error: 1364 Field mysql 严格模式导致
  8. .net 伪静态、真静态 (mvc)
  9. Spark监控官方文档学习笔记
  10. Effective Java 第三版——17. 最小化可变性
  11. hbase性能优化总结
  12. C#当中的扩展方法
  13. vue 打包的项目当背景图路径错误
  14. Tomcat基本组件、其功能和处理请求的过程
  15. ElasticSearch - Node
  16. 论文笔记—Flattened convolution neural networks for feedforward acceleration
  17. shell 字符串提取数字
  18. 转 Appium for Mac 环境准备篇
  19. Nodejs异步框架——async
  20. 编译是报error: &#39;EVNET_COME_TO_FOREGROUND&#39; was not declared in this scope

热门文章

  1. Spring教程:tutorialspoint-spring
  2. 【SDCC讲师专访】PingCAP联合创始人兼CEO刘奇:好的产品应开源,不闭门造车-CSDN.NET
  3. weblogic集群的资料
  4. 转: 将Eclipse代码导入到AndroidStudio的两种方式
  5. iOS国际化:NSLocalizedString的使用
  6. 2016/05/10 thinkphp 3.2.2 ①系统常量信息 ②跨控制器调用 ③连接数据库配置及Model数据模型层 ④数据查询
  7. HTML5你必须知道的28个新特性
  8. [NOIP2012] day2 T3疫情控制
  9. MYSQL之数据库初窥
  10. mipi屏在内核可以显示logo但是u-boot无法显示的问题【转】