PAT甲级-1065 A+B and C (64bit) (20分)

题目:1065 A+B and C (64bit) (20分)
分析:比较大小,存在溢出的问题,代码如下,但是测试数据有个问题

PAT甲级-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;
}

上一篇:POJ 1065 (Wooden Sticks)


下一篇:1065 单身狗