恩佐夫博弈+JAVA大数
题意:http://acm.hdu.edu.cn/showproblem.php?pid=5973
根号5复制后200位就行了,因为BigDecimal不支持开根号,除法二分开根。
import java.io.FileInputStream;
import java.io.PrintStream;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Scanner;
import java.util.*; public class Main{
// static private final String INPUT="C:\\Users\\13606\\Desktop\\草稿.txt";
// static private final String OUTPUT="C:/output.txt";
public static void main(String[] args){
// FileInputStream instream=null;
// PrintStream outstream=null;
/* try{
instream=new FileInputStream(INPUT);
System.setIn(instream);
// outstream=new PrintStream(OUTPUT);
// System.setOut(outstream);
}catch(Exception e){
System.err.println("Error Occurred.");
}*/ //=======================================================================
Scanner cin=new Scanner(System.in);
BigDecimal n,m;
while(cin.hasNextBigDecimal()){
n=cin.nextBigDecimal();
m=cin.nextBigDecimal();
BigDecimal a,b;
BigDecimal n2=new BigDecimal("2.0");
BigDecimal r=new BigDecimal("3.23606797749978969640917366873127623544061835961152572427089724541052092563780489941441440837878227496950817615077378350425326772444707386358636012153345270886677817319187916581127664532263985658053576135041753378500342339241406444208643253909725259262722887629951740244068161177590890949849237139072972889848208864154268989409913169357701974867888442508975413295618317692149997742480153043411503595766833251249881517813940800056242085524354223555610630634282023409333198293395974635227120134174961420263590473788550438968706113566004575713995659556695691756457822195250006053923123400500928676487552972205676625366607448585350526233067849463342224231763727702663240768010444331582573350589309813622634319868647194698997018081895242644596203452214119223291259819632581110417049580704812040345599494350685555185557251238864165501026243631257102444961878942468290340447471611545572320173767659046091852957560357");
r=r.divide(n2);
if(n.compareTo(m)>=0){
BigDecimal c=n.subtract(m);
BigDecimal temp=r.multiply(c);
BigDecimal ans=temp.setScale(0,BigDecimal.ROUND_FLOOR);
if(ans.compareTo(m)==0)
System.out.println(0);
else
System.out.println(1);
}
else{
BigDecimal c=m.subtract(n);
BigDecimal temp=r.multiply(c);
BigDecimal ans=temp.setScale(0,BigDecimal.ROUND_FLOOR);
if(ans.compareTo(n)==0)
System.out.println(0);
else
System.out.println(1);
}
}
}
}
恩佐夫博弈+JAVA大数的更多相关文章
- HDU 5973 Game of Taking Stones 威佐夫博弈+大数
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5973 Game of Taking Stones Time Limit: 2000/1000 MS ...
- 【HDOJ5973】Game of Taking Stones(Java,威佐夫博弈)
思路:有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子. 游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子:二是可以在两堆中同时取走相同数量的石子. 最后把石子全部取完 ...
- HDU5973 Game of Geting Stone(威佐夫博弈)
Two people face two piles of stones and make a game. They take turns to take stones. As game rules, ...
- 【hdu5973】高精度威佐夫博弈
题意:输入a, b表示两堆石头数目,威佐夫博弈,问:先手胜负? a, b <= 1e100. 高精度.当a > b时, a = (a-b)*黄金分割比 时是先手败状态.因为a, b < ...
- HD 2177(威佐夫博弈 入门)
取(2堆)石子游戏 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- HDU 1527 取石子游戏(威佐夫博弈)
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission( ...
- hdu1527取石子游戏(威佐夫博弈)
取石子游戏 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- HDU2177取(2堆)石子游戏---(威佐夫博弈)
http://acm.hdu.edu.cn/showproblem.php?pid=2177 取(2堆)石子游戏 Time Limit: 3000/1000 MS (Java/Others) M ...
- hdu1527取石子游戏---(威佐夫博弈)
感谢 http://www.cnblogs.com/yuyixingkong/p/3362476.html 取石子游戏 Time Limit: 2000/1000 MS (Java/Others) ...
随机推荐
- java集合类-Set接口
Set集合 Set集合中的对象不按特定的方式排序,只是简单的把对象放入集合中,但是不能包含重复对象. Set集合由Set接口和Set接口的实现类组成,Set接口继承与于Collection接口 Set ...
- c++ 容器反转并且拷贝到一个新容器中
// reverse_copy example #include <iostream> // cout #include <algorithm> // reverse_copy ...
- JavaEE项目开发所需要的包(Struts2+Spring5+Hibernate5)
在这里我只整理了轻量级JavaEE项目开发所需的包 @Auther MrZhangxd 2019-04-29 23:07:21 链接:https://pan.baidu.com/s/16I4KYah ...
- RuntimeException异常处理汇总
Java中所有异常的父类是Throwable类,在Throwable类下有两大子类: 一个是Error类,指系统错误异常,例如:VirtualMachineError 虚拟机错误,ThreadDeat ...
- Open Live Writer 显示不出来代码着色插件解决办法
下载地址: Open Live Writer 插件更新 下载后要把下面这5个文件,全部解除锁定(右键属性打开) Memento.OLW.Plugins.dll OLWPlugins.css OpenL ...
- TCP/IP协议入门
TCP/IP协议入门 1. 简介 Transmission Control Protocol/Internet Protocol的简写,即传输控制协议/因特网互联协议.它是网络通信的一套协议集合. 先 ...
- java课后实验性问题6
1.继承条件下的构造方法调用. class Grandparent { public Grandparent(){ System.out.println("GrandParent Creat ...
- VUE数组操作方法的局限
1.不能通过索引值直接设置一个项: vm.items[indexOfItem] = newValue 但是可以用set方法设置: Vue.set(example1.items,indexOfItem, ...
- kotlin之MutableMap委托
fun main(arg: Array<String>) { val map = mutableMapOf("name" to "tom", ) v ...
- android java.util.Date和java.util.sql中Date的区别
1.将java.util.Date 转换为 java.sql.Date java.sql.Date sd; java.util.Date ud; //initialize the ud such as ...