题目传送门
Problem 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
分析
四个大数相加
题解一
unsigned long long 的范围为0~2^64-1;
4 x 2^62 =
2^64;
因此只需要提前将2^64算出,其余的直接计算即可
#include<stdio.h>
#include<algorithm>
#include<cstring>
using namespace std;
typedef unsigned long long ull;
int main()
{
ull a,b,c,d;
ull sam;
int t;
scanf("%d",&t);
while(t--)
{
scanf("%llu%llu%llu%llu",&a,&b,&c,&d);
if(a==4611686018427387904&&b==4611686018427387904&&c==4611686018427387904&&d==4611686018427387904)
printf("18446744073709551616\n");
else
{
sam=a+b+c+d;
printf("%llu\n",sam);
}
}
// sam=1;
// for(int i=1;i<=63;i++)
// {
// sam*=2;
// }
// printf("%llu",sam);
return 0;
}
//18446744073709551616
//4611686018427387904
题解二
字符串大数加法,代码稍后奉上
感觉自己的基础太差,需要勤加学习