| 比赛 | 
    NOIP2008集训模拟1 | 
    评测结果 | 
    ATAAAAAATT | 
    | 题目名称 | 
    地铁重组 | 
    最终得分 | 
    70 | 
    | 用户昵称 | 
    francis | 
    运行时间 | 
    0.000 s  | 
    | 代码语言 | 
    Pascal | 
    内存使用 | 
    0.00 MiB  | 
    | 提交时间 | 
    2008-11-10 10:18:37 | 
显示代码纯文本
program subway;
const
fin='subway.in';
fou='subway.out';
var
f:array[1..500,1..300]of longint;
k,i,j,n,p:longint;
f1,f2:text;
procedure init;
begin
assign(f1,fin);
assign(f2,fou);
reset(f1); rewrite(f2);
read(f1,n,p);
for i:=1 to p do
f[1,i]:=1;
for i:=1 to n do
f[i,1]:=1;
end;
procedure main;
begin
for i:=2 to n do
for j:=2 to p do
begin
 f[i,j]:=f[i-1,j];
 for k:=1 to i-2 do
 f[i,j]:=(f[i,j]+f[k,j-1]*f[i-1-k,j]) mod 4096;
 f[i,j]:=(f[i,j]+f[i-1,j-1]) mod 4096;
end;
end;
begin
init;
main;
write(f2,f[n,p]);
close(f1); close(f2);
end.