主要考察数据相加会溢出的问题。
溢出只有两种情况
1、正+正 溢出为 负 肯定比c大
2、负+负 溢出为 正 肯定比c小
考虑好这两个就问题了。
#include <iostream>
#include <algorithm>
#include <cstring>
#include <climits>
#include <string>
#include <map>
#include <set>
#include <vector>
#include <queue>
#include <stack>
using namespace std;
int n;
long long a,b,c;
int main(){
scanf("%d",&n);
for(int i =1 ;i <= n ;i++){
scanf("%lld%lld%lld",&a,&b,&c);
long long t = a + b;
if( a > 0 && b > 0){
if(t <= 0)//溢出
cout << "Case #" << i << ": true" << endl;
else{
if(t > c)
cout << "Case #" << i << ": true" << endl;
else
cout << "Case #" << i << ": false" << endl;
}
}
else if(a < 0 && b < 0){
if(t >= 0)//溢出
cout << "Case #" << i << ": false" << endl;
else{
if(t > c)
cout << "Case #" << i << ": true" << endl;
else
cout << "Case #" << i << ": false" << endl;
}
}
else{
if(t > c)
cout << "Case #" << i << ": true" << endl;
else
cout << "Case #" << i << ": false" << endl;
}
}
return 0;
}