Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 2542 Accepted Submission(s): 918
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 Source 2017ACM/ICPC亚洲区沈阳站-重现赛(感谢东北大学) Recommend jiangzijing2015 C++ /* HDU6225 Little Boxes */
#include <iostream>
#include <stdio.h>
using namespace std;
typedef unsigned long long ULL;
int main()
{
int t;
scanf("%d", &t);
while(t--) {
ULL a, b, c, d, maxv = ((ULL)1 << 62);
scanf("%llu%llu%llu%llu", &a, &b, &c, &d);
if(a == maxv && b == maxv && c == maxv && d == maxv)
printf("18446744073709551616\n"); // 4个2^62之和
else
printf("%llu\n", a + b + c + d);
}
return 0;
} C++(128位整数) /* HDU6225 Little Boxes */
#include <iostream>
#include <stdio.h>
using namespace std;
typedef unsigned long long ULL;
void myitoa(__int128_t v, char* s)
{
char temp;
int i=0, j;
while(v >0) {
s[i++] = v % 10 + '0';
v /= 10;
}
if(i == 0)
s[i++] = '0';
s[i] = '\0';
j=0;
i--;
while(j < i) {
temp = s[j];
s[j] = s[i];
s[i] = temp;
j++;
i--;
}
}
int main()
{
int t;
scanf("%d", &t);
while(t--) {
__uint128_t ans = 0;
char s[66];
ULL a, b, c, d;
scanf("%llu%llu%llu%llu", &a, &b, &c, &d);
ans += a;
ans += b;
ans += c;
ans += d;
myitoa(ans, s);
printf("%s\n", s);
}
return 0;
}
|