Pagini recente » Cod sursa (job #2938901) | Cod sursa (job #362172) | Cod sursa (job #850863) | Cod sursa (job #2675108) | Cod sursa (job #769885)
Cod sursa(job #769885)
Program dreptunghiuri;
var rad:array [1..1 shl 20] of longint;
i,j,n,m,sol:longint;
fi,fo:text;
function rez(h,w:longint):longint;
var sol,r1,r2,delta,k:longint;
begin
sol:=1;
for k:=1 to h do begin
delta:=w*w-4*k*(h-k);
if (delta=0) and (w mod 2=0) then sol:=sol+(w div 2)
else if (delta>0) and (rad[delta]>0) then begin
r1:=w-rad[delta]; r2:=w+rad[delta];
if (r1>2) and (r1<2*w) and (r1 mod 2=0) then sol:=sol+(r1 div 2);
if (r2>2) and (r2<2*w) and (r2 mod 2=0) then sol:=sol+(r2 div 2);
end;
end;
rez:=sol;
end;
begin
assign(fi,'dreptunghiuri.in');
assign(fo,'dreptunghiuri.out');
reset(fi); rewrite(fo); readln(fi,n,m);
for i:=1 to 1000 do rad[i*i]:=i;
for i:=2 to n do
for j:=2 to m do
sol:=sol+(n-i+1)*(m-j+1)*rez(i-1,j-1);
write(fo,sol);
close(fo);
end.