题目描述
Given three integers A, B and C in [-263, 263), you are supposed to tell whether A+B > C.
输入描述:
The first line of the input gives the positive number of test cases, T (<=1000). Then T test cases follow, each consists of a single line containing three integers A, B and C, separated by single spaces.
输出描述:
For each test case, output in one line "Case #X: true" if A+B>C, or "Case #X: false" otherwise, where X is the case number (starting from 1).
输入例子:
3
1 2 3
2 3 4
9223372036854775807 -9223372036854775808 0
输出例子:
Case #1: false
Case #2: true
Case #3: false
用long long类型,在指定的范围中可能会有溢出的情况,需要特殊处理。
满分代码如下:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a,b,c;
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n;
cin>>n;
ll sum;
for(int i=1;i<=n;i++){
cin>>a>>b>>c;
sum=a+b;
if(a>0&&b>0&&sum<=0){
cout<<"Case #"<<i<<":"<<" true"<<endl;
}else if(a<0&&b<0&&sum>=0){
cout<<"Case #"<<i<<":"<<" false"<<endl;
}else if(sum>c){
cout<<"Case #"<<i<<":"<<" true"<<endl;
}else if(sum<=c){
cout<<"Case #"<<i<<":"<<" false"<<endl;
}
}
return 0;
}