Cod sursa(job #773060)

Utilizator ctlin04UAIC.VlasCatalin ctlin04 Data 31 iulie 2012 20:56:07
Problema Diamant Scor 80
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.09 kb
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.