题解:
快速幂,但最大值比qword刚好大1,所以要打一个点,哥就死在这上面。
代码:
function mi(x:int64):int64;
begin
if x=1 then exit(2);
if x=0 then exit(1);
if x mod 2=0 then
exit(sqr(mi(x div 2)))
else
exit(sqr(mi(x div 2))*mi(1));
end;
var
n,a,b,c,d,e,f,g,h,j:longint;
i,sum:qword;
begin
readln(n);
for j:=1 to n do
begin
sum:=0;
readln(a,b,c,d,e,f,g,h,i);
if (a=60)and(b=60)and(c=60)and(d=60)and(e=60)and(f=60)and(g=60)and(h=60)and(i=9223372036854775808) then
writeln('18446744073709551616')
else begin
sum:=sum+mi(a)+mi(b)+mi(c)+mi(d)+mi(e)+mi(f)+mi(g)+mi(h);
writeln(sum+i);end;
end;
end.