p1503.pas

来自「高手写的所有acm例程 在acm.zju.edu.cn 上的题目的例程」· PAS 代码 · 共 46 行

PAS
46
字号
PROGRAM p1503;

VAR
        n1,m1     :longint;
        step    :integer;
        num     :array[0..30,0..30]of longint;
        whether :array[0..30,0..30]of boolean;
FUNCTION max(a,b:longint):longint;
begin
if a>b then max:=a else max:=b;
end;

FUNCTION ans(n,m:longint):longint;
begin
if whether[n,m] then
        begin
        ans:=num[n,m];
        exit;
        end;
if n=0 then
        begin
        ans:=0;
        num[n,m]:=0;
        exit;
        end else
if m=0 then
        begin
        ans:=n;
        num[n,m]:=n;
        end else
num[n,m]:=ans(n-1,m)+ans(n-1,m-1)+1;
ans:=num[n,m];
whether[n,m]:=true;
end;

BEGIN
readln(n1,m1);
step:=0;
while (n1<>0)or(m1<>0) do
        begin
        inc(step);
        write('Case ',step,': ');
        writeln(ans(n1,m1));
        readln(n1,m1);
        end;
END.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?