Cod sursa(job #7009)

Utilizator StTwisterKerekes Felix StTwister Data 21 ianuarie 2007 11:44:26
Problema 1-sir Scor 20
Compilator fpc Status done
Runda preONI 2007, Runda 1, Clasele 11-12 Marime 0.8 kb
program _1sir;

const MODULO = 194767;

var
  nr: array[0..1, -32767..32767, -256..256] of longint;
  N, S: longint;
  i,j,k: longint;
  Sum: longint;
  cur,prev: byte;
  li1,ls1,li2,ls2: longint;
  F: Text;

begin
  Assign(F, '1-sir.in');
  Reset(F);
  Readln(F, N, S);
  Close(F);

  nr[1,0,0] := 1;
  for i := 2 to N do
  begin
    cur := i mod 2;
    prev := 1-cur;
    li1 := -(i*(i-1) div 2);
    ls1 := i*(i-1) div 2;
    for j := li1 to ls1 do
    begin
	  li2 := -i+1;
	  ls2 := i-1;
      for k := li2 to ls2 do
        nr[cur,j,k] := (nr[prev,j-k,k+1] + nr[prev,j-k,k-1]) mod MODULO;
    end;
  end;


  Sum := 0;
  for i := -N+1 to N-1 do
    Sum := (Sum + nr[cur,S,i]) mod MODULO;

  Assign(F, '1-sir.out');
  Rewrite(F);
  Writeln(F, Sum);
  Close(F);
end.