Pagini recente » Cod sursa (job #2685387) | Cod sursa (job #110461) | Cod sursa (job #2659885) | Cod sursa (job #417735) | Cod sursa (job #24185)
Cod sursa(job #24185)
const
FIN = '1-sir.in';
FOUT = '1-sir.out';
NMAX = 258;
SMAX = ( ( NMAX - 1 ) * NMAX ) SHR 1;
PRIM = 194767;
type
int = array[ 0..SMAX + 1000 ] of longint;
var
A : array[ 0..1 ] of int;
N, S : longint;
f, g : text;
ans : longint;
noresult : boolean;
procedure read_data;
begin
assign( f, FIN ); reset( f );
readln( f, N, S );
close( f );
end;
procedure solve;
var o, oo, i, j, smaxim : longint;
begin
o := 0; oo := 1;
A[ 0, 0 ] := 1;
smaxim := ( ( n - 1 ) * n ) shr 1;
noresult := false;
if abs( S ) > smaxim then begin noresult := true; exit; end;
S := abs( S );
for i := 2 to N do
begin
for j := 0 to Smaxim do
begin
A[oo][j] := A[o][ abs( j - ( i - 1 ) ) ] + A[o][ abs( j + ( i - 1 ) ) ];
if A[ oo ][j] >= PRIM then dec( A[oo][j], PRIM );
end;
o := 1 - o;
oo := 1 - oo;
end;
ans := A[o][S];
end;
procedure save;
begin
assign( g, FOUT ); rewrite( g );
if noresult then writeln( g, 0 )
else writeln( g, ans );
close( g );
end;
begin
read_data;
solve;
save;
end.