Pascal标程,记忆化搜索

var
  h:array[0..16]of int64;
  i,j,n:longint;
function
  f(x:longint):int64;
  var
    i:longint;
  begin
    if h[x]<>0 then exit(h[x]);
    for i:=0 to x-1 do
      h[x]:=h[x]+f(i)*f(x-1-i);
    exit(h[x]);
  end;
begin
  readln(n);
  h[0]:=1;
  h[1]:=1;
  writeln(f(n));
end.

4 条评论

  • 1

信息

ID
1122
难度
2
分类
组合数学 | Catalan数列 点击显示
标签
递交数
4090
已通过
2514
通过率
61%
被复制
22
上传者