hdu 6225 Little Boxes(題意+思維+不用大數)
Little Boxes
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 4079 Accepted Submission(s): 1547Problem Description
Little boxes on the hillside. Little boxes made of ticky-tacky. Little boxes. Little boxes. Little boxes all the same. There are a green boxes, and b pink boxes. And c blue boxes and d yellow boxes. And they are all made out of ticky-tacky. And they all look just the same.
Input
The input has several test cases. The first line contains the integer t (1 ≤ t ≤ 10) which is the total number of test cases. For each test case, a line contains four non-negative integers a, b, c and d where a, b, c, d ≤ 2^62, indicating the numbers of green boxes, pink boxes, blue boxes and yellow boxes.
Output
For each test case, output a line with the total number of boxes.
Sample Input
4
1 2 3 4
0 0 0 0
1 0 0 0
111 222 333 404
Sample Output
10
0
1
1070
【分析】 最大範圍是2^64-1 但是題目最大是2^64,所以不用大數模板的,直接把2^64直接拎出來討論就好了。嗯!很巧妙!隊友的思路哈哈哈
【程式碼】
#include<bits/stdc++.h> using namespace std; typedef unsigned long long LL; int main() { LL f1=13835058055282163712; LL f2=4611686018427387904; int t; scanf("%d",&t); while(t--) { LL a; int f=1; LL ans=0; for(int i=0;i<4;i++) { cin>>a; if(ans==f1&&a==f2) { printf("18446744073709551616\n"); f=0; } ans+=a; } if(f)cout<<ans<<endl; } }