[BZOJ2056][gift? 高精度?][水题]
题目大意:
输出
2a+2b+2c+2d+2e+2f+2g+2h+i
思路:
sb题。
只有一个极限数据会爆unsigned long long特判一下,其他直接算就好了。
代码:
#include <cstdio>
unsigned long long a[10];
int t;
int main(void) {
scanf("%d", &t);
while (t--) {
for (int i = 0; i <= 8; i++)
scanf("%llu", &a[i]); a[9] = 0;
if (a[8] == 0) {
for (int i = 0; i <= 7; i++)
a[9] += (1LL << a[i]);
printf("%llu\n", a[9]);
}
else {
a[8]--;
for (int i = 0; i <= 7; i++)
a[9] += (1LL << a[i]); a[9] += a[8];
if (a[9] == 18446744073709551615)
printf("18446744073709551616\n");
else printf("%llu\n", a[9] + 1);
}
}
return 0;
}
完。
By g1n0st