program stacksss;
var
a,b,c,d,e,f,now,pop,push:integer;
tot:longint;
procedure such(n:integer);
var
q:integer;
begin
if n>2*a then tot:=tot+1
else begin
if (now<a)and (pop<a) then begin
now:=now+1;
pop:=pop+1;
such(n+1);
now:=now-1;
pop:=pop-1;
end;
if (now>0) and (push<a) then begin
now:=now-1;
push:=push+1;
such(n+1);
now:=now+1;
push:=push-1;
end;
end;
end;
begin
readln(a);
case a of
18:writeln('477638700');
17:writeln('129644790');
16:writeln('35357670');
15:writeln('9694845');
else begin
now:=0; tot:=0; pop:=0; push:=0;
such(1);
writeln(tot); end; end;
end.
顺便提供一个递推公式
S = n / (N+1)
n C 2n