题目:1065 A+B and C (64bit) (20分)
分析:比较大小,存在溢出的问题,代码如下,但是测试数据有个问题
这样输出不应该是true吗,然而代码也可以过。测试数据有问题?
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <vector>
#include <stack>
#include <set>
#include <map>
#include <math.h>
#include <queue>
#include <algorithm>
#define MAX 999999999
typedef long long ll;
using namespace std;
int n,m,k;
int main()
{
ll a,b,c;
cin>>n;
for(int i = 1;i<=n;i++)
{
scanf("%lld%lld%lld",&a,&b,&c);
ll sum = a + b;
if(a > 0 && b > 0 && sum < 0)
printf("Case #%d: true\n",i);
else if(a < 0 && b < 0 && sum >= 0)
printf("Case #%d: false\n",i);
else
{
if(sum > c)
printf("Case #%d: true\n",i);
else
printf("Case #%d: false\n",i);
}
}
return 0;
}