VIJOS-P1192

VIJOS-P1192

时间限制(普通/Java):1000MS/3000MS          运行内存限制:65536KByte

描述

 

  在90000年,青蛙占领了整个宇宙。有一天,两个种族的青蛙在一个虫洞相遇了。

由于,虫洞开启只有2S时间,且距离有几十万光年,虽然青蛙种族有超强的飞行器(有级强的防撞装甲),但是虫洞的大小不允许两个种族同时通过,所以他们在虫洞的中间相撞了。(以几亿倍的光速飞行相撞,不知会不会造成时空扭曲d-.-!) 没有办法,他们只能从飞行器中出来,跳到对方的飞行器里,交换飞行。忽然,闪出几个庞大的黑影(废话,虫洞里原本就是黑的),身体形似乌龟(啊?!是忍者神经龟?),原来是星际乌龟的弱小种族的两个小队,为了摆脱被统治的现状使用了被禁的时空裂缝产生器,来到1000000000年前的90000年做最后的挽回斗争。(靠,青蛙忒强了统治N久啊)星际乌龟们真倒霉啊,刚做好时空穿梭就遇见了冤家,没辙只得混在其中一起做交换飞行,学青蛙跳可不容易,只得当会“无壳乌龟”了。(看来星际青蛙还得统治N久。。。)

在两族之间有一个空地,青蛙(乌龟)每次可以向前跳一步,也可以借助前面青蛙(乌龟)的背,跳到前面青蛙(乌龟)的前面一格(这格必须无青蛙、乌龟),因为两族青蛙(两队乌龟)都互不相让,所以无法掉头向后跳。请你在1S内,算出所有青蛙(乌龟)到对方飞行器至少要跳几步?   

 

输入

 

  输入X,Y。X为星际青蛙种族X和星际乌龟小队A的数量,Y为星际青蛙种族Y和星际乌龟小队B。(X,Y< =1009998979695...7654321)

 

输出

 

  输出M,M为最少步数。(M< =无穷大)

 

样例输入

1 1

 

样例输出

3

 

提示

 样例的跳法(*表示星际青蛙种族X和星际乌龟小队A,o星际青蛙种族Y和星际乌龟小队B)

原始:*_o

第1步:_*o

第2步:o*_

第3步:o_*

别忘用高精度噢d^o^!


步骤:(n+1)*(m+1)-1

高精度计算题,用java处理较简单,在此只贴java代码

 

import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        BigInteger xx, yy;
        while (in.hasNext()) {
            xx = in.nextBigInteger();
            yy = in.nextBigInteger();
            BigInteger one = BigInteger.ONE;
            BigInteger temp = xx.add(one).multiply(yy.add(one)).subtract(one);
            System.out.println(temp);
        }
    }
}

 

posted on 2013-10-07 17:51  落叶伴雨下  阅读(423)  评论(0)    收藏  举报

导航