Cod sursa(job #43795)

Utilizator cimiCristina Stancu-Mara cimi Data 30 martie 2007 15:47:16
Problema Diamant Scor 90
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.94 kb
const
  lim=45000;
  base=10000;
var
  r,c,l,k,i,j,n,m,x:longint;
  a:array[0..1,-lim..lim] of longint;
  sol:longint;

begin
  assign(input,'diamant.in');
  reset(input);
  readln(n,m,x);
  close(input);
  l:=0;
  r:=0; c:=1;
  a[r,0]:=1;
  for i:=1 to n do
    for j:=1 to m do
    begin
      for k:=-l to l do
      begin
        if a[r,k]>0 then
        begin
          inc(a[c,k+i*j],a[r,k]);
          if a[c,k+i*j]>=base then dec(a[c,k+i*j],base);
          inc(a[c,k-i*j],a[r,k]);
          if a[c,k-i*j]>=base then dec(a[c,k-i*j],base);
          inc(a[c,k],a[r,k]);
          if a[c,k]>=base then dec(a[c,k],base);
        end;
        {a[c,k]:=a[c,k]+a[r,k];}
        a[r,k]:=0;
      end;
      l:=l+i*j;
      r:=1-r;
      c:=1-c;
    end;
  {dec(a[r,0]);}
  assign(output,'diamant.out');
  rewrite(output);
  if (-lim<=x) and (x<=lim)
    then writeln(a[r,x])
    else writeln('0');
  close(output);
end.