BestCoder Round #78 (div.2)(A)高精度

CA Loves Stick

 
 Accepts: 381
 
 Submissions: 3204
 Time Limit: 2000/1000 MS (Java/Others)
 
 Memory Limit: 262144/262144 K (Java/Others)
问题描述
CA喜欢玩木棍。
有一天他获得了四根木棍,他想知道用这些木棍能不能拼成一个四边形。(四边形定义:https://en.wikipedia.org/wiki/Quadrilateral)
输入描述
第一行 TT,表示有 TT 组数据。
接下来 TT 组数据,每组数据包含四个整数 a,b,c,da,b,c,d,分别为四根木棍的长度。
1 \le T \le 1000,~0 \le a,b,c,d \le 2^{63}-11T1000, 0a,b,c,d2631
输出描述
对于每个数据,如果能拼成一个四边形,输出“Yes”;否则输出“No”(不包括双引号)。
输入样例
2
1 1 1 1
1 1 9 2
输出样例
Yes
No



题解:

坑点1:假如有条长度为0的边的话,

坑点2:其余三条边的和会爆longlong


不说了,Java大法好


import java.lang.reflect.Array;
import java.math.BigInteger;
import java.util.Arrays;
import java.util.Scanner;
 
public class Main 
{
    public static void main(String[] args)
    {
        int n;
        Scanner in=new Scanner(System.in);
        n=in.nextInt();
        while(n--!=0)
        {
            BigInteger []a=new BigInteger[4];
            BigInteger sum=BigInteger.ZERO;
            for(int i=0;i<4;i++)
            {
                a[i]=in.nextBigInteger();
                //System.out.println(a[i]);
            }
            Arrays.sort(a);
            for(int i=0;i<3;i++)
            {
                sum=sum.add(a[i]);
            }
            if(sum.compareTo(a[3])==1&&a[0].compareTo(BigInteger.ZERO)==1)
            {
                System.out.println("Yes");
            }
            else
            {
                System.out.println("No");
            }
        }
    }    
}








你可能感兴趣的:(BestCoder Round #78 (div.2)(A)高精度)