1065 A+B and C (64bit) (20分)

1. 题目

1065 A+B and C (64bit) (20分)

2. 思路

  1. 如果 正+正<=0 则为true
  2. 如果 负+负>=0 则为false
  3. 其他正常计算

3. 注意点

  1. 使用long long
  2. 注意溢出处理

4. 代码

#include<cstdio>
#include<vector>
#include<string>

using namespace std;

#define MAXN 100001
#define INF 0x3fffffff

int t;
long long a, b, c;

long long A[11];
long long B[11];
long long C[11];

int main(){
    scanf("%d", &t);
    for(int i=1;i<=t;i++){
        scanf("%lld %lld %lld", &A[i], &B[i], &C[i]);
    }
    for(int i=1;i<=t;i++){
        if(A[i] > 0 && B[i] > 0 && A[i] + B[i] <= 0){
            printf("Case #%d: true\n", i);
        }else if(A[i] < 0 && B[i] < 0 && A[i] + B[i] >= 0){
            printf("Case #%d: false\n", i);
        }else{
            if(A[i] + B[i] > C[i]){
                printf("Case #%d: true\n", i);
            }else{
                printf("Case #%d: false\n", i);
            }
        }
    }
}
上一篇:【P1313 [NOIP2011 提高组] 计算系数】题解


下一篇:P1307 [NOIP2011 普及组] 数字反转(解题思路)