Pagini recente » Cod sursa (job #1802893) | Istoria paginii utilizator/crisnita | Cod sursa (job #1044897) | Cod sursa (job #353040) | Cod sursa (job #773060)
Cod sursa(job #773060)
Program diamant;
var l1,l2:array [-45000..45000] of integer;
v:array [0..401] of integer;
n,m,i,j,k,s,nr:longint;
fi,fo:text;
begin
assign(fi,'diamant.in');
assign(fo,'diamant.out');
reset(fi); rewrite(fo); readln(fi,n,m,k);
for i:=1 to n do
for j:=1 to m do begin s:=s+i*j; inc(nr); v[nr]:=i*j; end;
if k>s then write(fo,'0')
else begin
for i:=1 to nr do
if i mod 2=1 then begin
for j:=-s to s do
l2[j]:=(l1[j]+l1[j-v[i]]+l1[j+v[i]]) mod 10000;
inc(l2[v[i]]); inc(l2[-v[i]]);
end
else begin for j:=-s to s do
l1[j]:=(l2[j]+l2[j-v[i]]+l2[j+v[i]]) mod 10000;
inc(l1[v[i]]); inc(l1[-v[i]]);
end;
inc(l1[0]); inc(l2[0]);
if nr mod 2=0 then write(fo,l1[k]) else write(fo,l2[k]);
end;
close(fo);
end.