HDU 6225 - 思維題
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^62*4 = 2^64
但是無符號最大值到2^64-1,所以只要把最大的那種情況摘出來就可以了。
ac程式碼如下:
#include<iostream> using namespace std; int main() { unsigned long long int res = 0; unsigned long long int a,b,c,d; int t; scanf("%d",&t); while(t--) { scanf("%lld %lld %lld %lld",&a,&b,&c,&d); if(a==4611686018427387904 &&b==4611686018427387904 &&c==4611686018427387904 &&d==4611686018427387904 ) printf("18446744073709551616\n"); else { res = a + b + c + d; cout<<res<<endl;//注意輸出 } } }