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

📄 test.dpr

📁 tongji acm-online judge solution
💻 DPR
字号:
program Ural_1142(Input, Output);
const
    MaxN = 10;
type
    TIndex = Longint;
    TStatus = array[1..MaxN] of record
        Num: TIndex;
        Opr: TIndex; //Last
    end;
    TSet = set of 1..MaxN;
var
    S: TSet;
    N: TIndex;
    L: TStatus;
    Count: TIndex;

procedure DFS(Depth: TIndex);
var
    i: TIndex;
begin
    if Depth = N + 1 then
    begin
        Inc(Count);
        Exit;
    end;
    for i := 1 to N do
        if not (i in S) then
        begin
            if (L[Depth - 1].Num < i) then
            begin
                S := S + [i];
                L[Depth].Opr := 0;
                L[Depth].Num := i;
                DFS(Depth + 1);
                S := S - [i];
            end;
            S := S + [i];
            L[Depth].Opr := 1;
            L[Depth].Num := i;
            DFS(Depth + 1);
            S := S - [i];
        end;
end;

procedure Main;
var
    i: TIndex;
begin
    Readln(N);
    Count := 0;
    S := [];
    FillChar(L, SizeOf(L), 0);
    for i := 1 to N do
    begin
        S := [i];
        L[1].Num := i;
        DFS(2);
    end;
    Writeln(Count);
end;
begin
    Assign(Input, 'i.txt');
    Reset(Input);
    Assign(Output, 'o.txt');
    Rewrite(Output);
    while not eof do
        Main;
    Close(Input);
    Close(Output);
end.

⌨️ 快捷键说明

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