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

📄 make161.dpr

📁 zhy关于acm.sgu.ru的OJ上题目的参考程序。 包含了里面大部分的题目
💻 DPR
字号:
{$A8,B-,C+,D+,E-,F-,G+,H+,I+,J-,K-,L+,M-,N+,O+,P+,Q-,R-,S-,T-,U-,V+,W-,X+,Y+,Z1}
{$MINSTACKSIZE $00004000}
{$MAXSTACKSIZE $00100000}
{$IMAGEBASE $00400000}
{$APPTYPE CONSOLE}
Const
    OutFile    = 'p161.in';
    Limit      = 6;
    LimitP     = 10;
    LimitEle   = 5;
    LimitC     = 4;

Type
    Tgraph     = array[1..Limit , 1..Limit] of boolean;
    Tpath      = array[1..LimitP] of
                   record
                       p1 , p2               : integer;
                   end;

Var
    graph      : Tgraph;
    path       : Tpath;

procedure floyd;
var
    i , j , k  : integer;
begin
    for i := 1 to Limit do
      graph[i , i] := true;
    for k := 1 to Limit do
      for i := 1 to Limit do
        for j := 1 to Limit do
          graph[i , j] := graph[i , j] or graph[i , k] and graph[k , j];
end;

procedure make_graph;
var
    i , p1 , p2: integer;
begin
    fillchar(graph , sizeof(graph) , 0);
    floyd;
    for i := 1 to LimitP do
      begin
          repeat
            p1 := random(Limit) + 1; p2 := random(Limit) + 1;
          until not graph[p2 , p1];
          graph[p1 , p2] := true;
          path[i].p1 := p1;
          path[i].p2 := p2;
          floyd;
      end;
end;

procedure out_ele;
begin
    if random(2) = 0 then
      write('~');
    write(chr(random(LimitC) + 65));
end;

procedure out;
var
    i , t , j  : integer;
begin
    assign(OUTPUT , OutFile); ReWrite(OUTPUT);
      writeln(Limit , ' ' , LimitP);
      for i := 1 to LimitP do
        writeln(path[i].p1 , ' ' , path[i].p2);
      writeln(20);
      for j := 1 to 20 do
        begin
            out_ele;
            for i := 1 to LimitEle do
              begin
                  t := random(4);
                  case t of
                    1               : write('|');
                    2               : write('&');
                    3               : write('=>');
                    0               : write('=');
                  end;
                  out_ele;
              end;
            writeln;
        end;
    Close(OUTPUT);
end;

Begin
    randomize;
    make_graph;
    out;
End.

⌨️ 快捷键说明

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