⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex.dpr

📁 tongji acm-online judge solution
💻 DPR
字号:
{
	DP

	F(n)=Sum(1<=i<=n)[F(n-i)*C(n,i)]
	variable (i-1) is amount of "="s which will be added after [f(n-i)],
	so we should choose i operand in blank between both adjoined "=".
	i.e. form [f(n-i)]<a1=a2=...=ai , here [f(n-i)] is the physics sense of f(n-i).
}
program Ural_1142(Input,Output);
const
	MaxN=10;
type
	TIndex=Longint;
	TDP=array[0..MaxN]of TIndex;
var
	F:TDP;

function Combine(N,R:TIndex):TIndex;
var
	i:TIndex;
begin
	Result:=1;
	for i:=1 to R do
		Result:=Result*(N-i+1) div i;
end;
procedure Precompute;
var
	i,j:TIndex;
begin
	F[0]:=1;
	for i:=1 to MaxN do
	begin
		F[i]:=0;
		for j:=1 to i do
			F[i]:=F[i]+F[i-j]*Combine(i,j);
	end;
end;
procedure Main;
var
	N:TIndex;
begin
	while true do
	begin
		Readln(N);
		if N=-1 then Break;
		Writeln(F[N]);
	end;
end;
begin
{$IFNDEF ONLINE_JUDGE}
	Assign(Input,'i.txt');
	Reset(Input);
	Assign(Output,'o.txt');
	Rewrite(Output);
{$ENDIF}
	Precompute;
	Main;
{$IFNDEF ONLINE_JUDGE}
	Close(Input);
	Close(Output);
{$ENDIF}
end.

⌨️ 快捷键说明

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