CT - Counting triangles
Tác giả: RR
Ngôn ngữ: Pascal
{$MODE OBJFPC}
uses math;
var
test,x,y,i,j,ii,jj:longint;
res,dx,dy:int64;
function min3(a,b,c:longint):longint;
begin
exit(min(min(a,b),c));
end;
function max3(a,b,c:longint):longint;
begin
exit(max(max(a,b),c));
end;
begin
read(test);
for test:=1 to test do
begin
read(x,y);
res:=0;
for i:=-x to x do
for j:=-y to y do
if (i<>0) or (j<>0) then
begin
ii:=j; jj:=-i;
dx:=max3(0,i,ii)-min3(0,i,ii);
dy:=max3(0,j,jj)-min3(0,j,jj);
if (dx<=x) and (dy<=y) then
inc(res,(x-dx+1)*(y-dy+1));
end;
writeln(res);
end;
end.