51NOD 1185 威佐夫游戏 V2(大数运算 JAVA 模板)
来源:互联网 发布:淘宝激活码office骗局 编辑:程序博客网 时间:2024/05/22 14:52
传送门:: 点我 点我 http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1185
1185 威佐夫游戏 V2
基准时间限制: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 <= 10^18)
Output
共T行,如果A获胜输出A,如果B获胜输出B。
Input示例
33 53 41 9
Output示例
BAA
大数模板, 威佐夫博弈 黄金分割点 JAVA 模板 要注意 精度问题 精度 精度!!!!!
不然 只能过 text10 再往后就WA了
提交时 去掉package 并把class 名 改成main
package Big;import java.util.Scanner;import java.math.*;public class Action {public static void main(String args[]) { Scanner cin = new Scanner(System.in);BigInteger b, c;boolean t;int T=cin.nextInt();while(T !=0){T--;BigInteger a = BigInteger.valueOf(0); //初始化//a = cin.nextBigInteger();//键盘输出//b = cin.nextBigInteger();//c = a.subtract(b);//大数减法/*c = a.add(b);//大数的加法c = a.multiply(b);//大数乘法c = a.divide(b);//大数除法(取整数部分)c = a.remainder(b);//大数求模t = a.equals(b);//大数求相不相等c = a.gcd(b);//大数求公约数c = a.pow(2);//大数的指数乘法(指数只能为整数)c = a.abs();//大数取绝对值c = a.negate();//大数取反*/BigDecimal d, e, f, g,h;double q;//d = cin.nextBigDecimal();//e = cin.nextBigDecimal();//f = d.add(e);//f = d.subtract(e);//-//f = d.multiply(e);////f = d.divideToIntegralValue(e);//大数除法取整数部分//g = f.multiply(e);//大数整数部分*除数//f = d.subtract(g);//然后求解余数//f = d.remainder(e);//f = d.pow(3);//q = d.compareTo(e);//f = d.ulp();//末位数据的精度//System.out.println(f);BigDecimal temp = new BigDecimal("1.6180339887498948482045868343656381177203091798057628621354486227052604628189024497072072041893911374");//long ans=temp.multiply(BigDecimal(d-e)).longValue();long qq = cin.nextLong();long ww = cin.nextLong();if(qq>ww){qq^=ww;ww^=qq;qq^=ww;}long ans = temp.multiply(new BigDecimal(ww - qq)).longValue();//System.out.println(c);//System.out.println(ans);//System.out.println(qq);if(ans==qq)System.out.println("B");elseSystem.out.println("A");}}}
0 0
- 51NOD 1185 威佐夫游戏 V2(大数运算 JAVA 模板)
- 51nod 1185 威佐夫游戏 V2 (博弈+大数乘法模拟)
- 51nod 1185 威佐夫游戏 V2 (用乘法模拟解决大数精度问题)
- 51nod 1185 威佐夫游戏V2
- 51nod 1185 威佐夫游戏 V2
- 51nod 1185 威佐夫游戏 V2
- 51 NOD _ 1185 威佐夫游戏 V2
- 51Nod-1185-威佐夫游戏 V2
- 51nod 1185 威佐夫游戏 V2
- 51nod 1185 威佐夫游戏 V2(威佐夫博弈)
- 51nod 1185 威佐夫游戏 V2(威佐夫博弈)
- 51nod--1185 威佐夫游戏 V2 (博弈, 乘法模拟)
- 51Nod-1185-威佐夫游戏 V2
- 51NOD 1185 威佐夫游戏 V2(博弈论 + 减少精度)
- [51Nod 1185 威佐夫游戏 V2]Wythoff Game+乘法模拟
- 51nod oj 1028 大数乘法 V2 1029 大数除法【java大数】
- 51NOD 1068 Bash游戏 V3 (大数模板套用) 博弈
- 51nod Bash游戏V2
- Android Studio 编译占 cpu99%、100%、编译超慢、卡断问题分析
- Linux系统基础-基本操作命令
- 之前题目简单总结
- 最长公共子序列<DP>
- git常用命令
- 51NOD 1185 威佐夫游戏 V2(大数运算 JAVA 模板)
- Javascript引用类型之Function类型
- c++模板之萃取
- 特殊json字符串解析
- 用Maven创建第一个Web项目
- iptables__防火墙
- Ionic2自定义遮罩层和相关注意事项
- 学习笔记:Java_I/O(B)
- 同步和异步的区别(转)