Pagini recente » Cod sursa (job #1991784) | Cod sursa (job #1200370) | Cod sursa (job #2292766) | Cod sursa (job #2563530) | Cod sursa (job #257070)
Cod sursa(job #257070)
type muchie=record
x,y:word;
cost:longint;
end;
var v:array[1..250001]of muchie;
d:array[1..50001]of longint;
f,g:text;
n,poz:word;
m,i,s:longint;
modif:boolean;
begin
assign(f,'dijkstra.in');reset(f);
assign(g,'dijkstra.out');rewrite(g);
read(f,n,m);
for i:=1 to m do begin
read(f,v[i].x,v[i].y,v[i].cost);
if v[i].x=1 then d[v[i].y]:=v[i].cost;
end;
for i:=2 to n do if d[i]=0 then d[i]:=maxlongint;
modif:=true;
while modif do begin
modif:=false;
for i:=1 to m do begin
s:=d[v[i].x]+v[i].cost;
poz:=v[i].y;
if s<d[poz] then begin
d[poz]:=s;
modif:=true;
end;
end;end;
for i:=2 to n do if d[i]<>maxlongint then write(g,d[i],' ')
else write(g,0,' ');
close(g);
end.