Pagini recente » Cod sursa (job #1768973) | Cod sursa (job #1548362) | Cod sursa (job #1542413) | Cod sursa (job #2448304) | Cod sursa (job #769896)
Cod sursa(job #769896)
Program dreptunghiuri;
var rad:array [1..1 shl 20] of longint;
i,j,n,m:longint;
sol:int64;
fi,fo:text;
function rez(h,w:longint):longint;
var sol,r1,r2,delta,k:longint;
begin
sol:=1;
for k:=1 to h-1 do begin
delta:=w*w-4*k*(h-k);
if (delta=0) and (w mod 2=0) then inc(sol)
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 inc(sol);
if (r2>=2) and (r2<2*w) and (r2 mod 2=0) then inc(sol);
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.