Given three integers A, B and C in [-263, 263], you are supposed to tell whether A+B > C.
Input Specification:
The first line of the input gives the positive number of test cases, T (<=10). Then T test cases follow, each consists of a single line containing three integers A, B and C, separated by single spaces.
Output Specification:
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).
Sample Input:3 1 2 3 2 3 4 9223372036854775807 -9223372036854775808 0Sample Output:
Case #1: false Case #2: true Case #3: false
#include<stdio.h> //#include <limits.h> //定义各种数据类型最值的常量 bool check(long long a, long long b, long long c){ /* if (a >= 0 && b >= 0) { if (a > LLONG_MAX - b) return true; } else if (a <= 0 && b <= 0) { if (a < LLONG_MIN - b) return false; } *///通过最值来判断 long long sum; sum = a + b; if (a > 0 && b > 0 && sum <= 0) //两个正数相加溢出 return true; else if (a < 0 && b < 0 && sum>= 0)//两个负数相加溢出 return false; else return sum > c; } int main(void){ freopen("F://Temp/input.txt", "r", stdin); int n; scanf("%d", &n); for (int i = 0; i < n; i ++){ long long a, b, c; scanf("%lld%lld%lld", &a, &b, &c); printf("Case #%d: %s\n", i + 1, (check(a, b, c) ? "true" : "false")); } return 0; }