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;//注意输出
		}
	}

 } 

猜你喜欢

转载自blog.csdn.net/qiulianshaonv_wjm/article/details/84582605