Pagini recente » Cod sursa (job #518283) | Cod sursa (job #1427623) | Cod sursa (job #2421323) | Cod sursa (job #246556) | Cod sursa (job #389382)
Cod sursa(job #389382)
program dijkstra;
var x:array[1..100,1..100] of longint;
n,m:integer;
procedure citire;
var a,b,k,i,j,c:integer;
f:text;
begin
assign(f,'dijkstra.in'); reset(f);
readln(f,n,m);
for i:=1 to n do
for j:=1 to n do
x[i,j]:=0;
for k:=1 to m do
begin
readln(f,a,b,c);
x[a,b]:=c;
end;
close(f);
for i:=1 to n do
for j:=1 to n do
if (i<>j) and (x[i,j]=0) then
x[i,j]:=100000;
end;
procedure generare;
var i,j,k:integer;
begin
for k:=1 to n do
for i:=1 to n do
for j:=1 to n do
if x[i,k]+x[k,j]<x[i,j] then
x[i,j]:=x[i,k]+x[k,j];
end;
procedure afisare;
var j:integer;
f:text;
begin
assign(f,'dijkstra.out'); rewrite(f);
for j:=2 to n do
write(f,x[1,j],' ');
close(f);
end;
begin
citire;
generare;
afisare;
end.