1011. A+B和C (15)
时间限制
150 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
HOU, Qiming
给定区间[-231, 231]内的3个整数A、B和C,请判断A+B是否大于C。
输入格式:
输入第1行给出正整数T(<=10),是测试用例的个数。随后给出T组测试用例,每组占一行,顺序给出A、B和C。整数间以空格分隔。
输出格式:
对每组测试用例,在一行中输出“Case #X: true”如果A+B>C,否则输出“Case #X: false”,其中X是测试用例的编号(从1开始)。
输入样例:4 1 2 3 2 3 4 2147483647 0 2147483646 0 -2147483648 -2147483647输出样例:
Case #1: false Case #2: true Case #3: true Case #4: false
思路分析:利用数组存储输入的测试用例,给定的数字区间超过int型的长度,所以参考别人的办法,用了BigInteger
代码在编译器测试完全没有问题,但是提交到判题系统就一直显示答案错误。
import java.math.*;
import java.util.*;
public class Main {
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
int n=in.nextInt();
int[]s=new int[n];
String[]flag=new String[n];
for(int i=0;i<n;i++)
{
BigInteger a=in.nextBigInteger();
BigInteger b=in.nextBigInteger();
BigInteger c=in.nextBigInteger();
BigInteger sum = a.add(b);
if (sum.compareTo(c) > 0)
flag[i] = "true";
else
flag[i] = "false";
}
for(int i=0;i<n;i++)
System.out.println("case #"+(i+1)+":"+flag[i]);
}
}