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
原创粉丝点击