Курсовая работа: Поиск кратчайшего пути в лабиринте 2
for j:=1 to mr do Read(f,Wr[i,j].D);
end;
// процедура формирование матрицы смежности комнат
Procedure TWay.CreateAdj;
var i,j,k,v:Integer;
begin
na:=nr*mr; {Число комнат-вершин}
k:=0;
for i:=1 to nr do begin
for j:=1 to mr do begin
for v:=1 to 4 do Adj[k,v]:=-1; //Нет прохода
if wr[i,j].L=1 then Adj[k,1]:=k-1;
if wr[i,j].R=1 then Adj[k,2]:=k+1;
if wr[i,j].U=1 then Adj[k,3]:=k-mr;
if wr[i,j].D=1 then Adj[k,4]:=k+mr;
k:=k+1; //Число комнат
end;
end;
//------------------------------------
for k:=0 to na-1 do begin
for v:=1 to 4 do begin
Write(fout,Adj[k,v]:3);
end;
WriteLn(fout);
end;
end;
//процедура поиска минимального пути
Procedure TWay.ShortRoom;
Var