CWAY - Đếm số đường đi trên đồ thị đầy đủ
Tác giả: ll931110
Ngôn ngữ: Pascal
program CWAY;
const
maxn = 1000;
maxd = 550;
base = 100000;
type
arr = array[1..maxd] of longint;
var
F: array[0..maxn] of arr;
n: longint;
function adjust(d: arr; x: longint): arr;
var
tmp: arr;
i: longint;
begin
for i := 1 to maxd do tmp[i] := d[i] * x;
inc(tmp[1]);
for i := 1 to maxd - 1 do if tmp[i] >= base then
begin
tmp[i + 1] := tmp[i + 1] + tmp[i] div base;
tmp[i] := tmp[i] mod base;
end;
adjust := tmp;
end;
procedure precom;
var
i: longint;
begin
fillchar(F, sizeof(F), 0);
F[0,1] := 1;
for i := 1 to maxn - 2 do F[i] := adjust(F[i - 1],i);
end;
procedure printresult;
var
i,j,k: longint;
s: string;
begin
readln(n);
n := n - 2;
i := maxd;
while F[n,i] = 0 do dec(i);
write(F[n,i]);
for j := i - 1 downto 1 do
begin
str(F[n,j],s);
for k := 1 to 5 - length(s) do write(0);
write(s);
end;
end;
begin
precom;
printresult;
end.