Pagini recente » Cod sursa (job #2625046) | Cod sursa (job #1644804) | Cod sursa (job #428942) | Cod sursa (job #542691) | Cod sursa (job #176096)
Cod sursa(job #176096)
var min,n,m,j,i,q,w,e,nr:longint;
d:array[1..50001] of longint;
viz:array[1..50001] of 0..1;
c:array[1..50001,1..50001] of longint;
begin
assign(input,'dijkstra.in'); reset(input);
assign(output,'dijkstra.out'); rewrite(output);
readln(n,m);
for i:=1 to n do
begin
viz[i]:=0;
for j:=1 to n do c[i,j]:=1001;
c[i,i]:=0;
end;
for i:=1 to m do
begin
readln(q,w,e);
c[q,w]:=e;
end;
for i:=2 to n do d[i]:=c[1,i];
nr:=1; viz[1]:=1;
while nr<n do
begin
min:=1001;
for i:=2 to n do if (d[i]<min)and(viz[i]=0) then begin min:=d[i]; q:=i;end;
inc(nr);
viz[q]:=1;
for i:=2 to n do
if (viz[i]=0)and(d[i]>d[q]+c[q,i]) then d[i]:=d[q]+c[q,i];
end;
for i:=2 to n do write(d[i],' ');
close(input);
close(output);
end.