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

📄 h1.pas

📁 This ar the basic programs that i did in highschool. From very simple to medium programs. From array
💻 PAS
字号:
program h;
type stiva=array[1..50] of integer;
     matrice=array[1..50,1..50] of integer;
var nr,min,x,y,i,n,m,k:integer;
    st1,st:stiva;
    as,ev:boolean;
    a:matrice;
procedure citire;
var i,n,m,x,y:integer;
    f:text;
begin
assign(f,'graf.txt');
reset(f);
readln(f,n,m);
while not eof(f) do
                 begin
                 readln(f,x,y,i);
                 a[x,y]:=i;
                 a[y,x]:=i;
                 end;
                 close(f);
end;
procedure init(var st:stiva;k:integer);
begin
st[k]:=0;
end;
procedure succesor(var st:stiva; k:integer; var as:boolean);
begin
if st[k]<n then
           begin
           as:=true;
           inc(st[k]);
           end
           else as:=false;
end;
procedure valid(st:stiva; k:integer;var ev:boolean);
          var i:integer;
begin
ev:=true;
if (st[1]<>x) and (k<>n) then ev:=false;
if (a[st[k],st[1]]=0) then ev:=false;
for i:=1 to k-1 do
    if st[i]=st[k] then ev:=false;
end;
function solutie(k:integer):boolean;
 begin
 solutie:=(st[k]=y);
 end;
procedure tipar(st:stiva;k:integer);
var i:integer;
begin
for i:=1 to k do
    write (st[i],' '); writeln;
end;
procedure optim(k:integer);
var i,d:integer;
begin
d:=0;
for i:=1 to k-1 do
d:=d+a[st[i],st[i+1]];
d:=d+a[st[k],st[1]];
if d<min then begin
              st1:=st;
              min:=d;
              nr:=k;
              end;
end;
BEGIN
citire;
write('Plecare din ');readln(x);
while k>0 do
          begin
          repeat
          succesor(st,k,as);
          if as then valid(st,k,ev);
          until (not as) or (as and ev);
          {if as then
                if solutie(k) then optim
                              else begin
                                   inc(k);
                                   init(st,k);
                                   end
                else dec(k);}
end;
tipar(st1,nr);
END.


⌨️ 快捷键说明

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