Pagini recente » Cod sursa (job #146394) | Cod sursa (job #2529672) | Cod sursa (job #1555004) | Cod sursa (job #1366927) | Cod sursa (job #901658)
Cod sursa(job #901658)
program dijkkk;
const infinit=1000000001;
type muchie=record
x,y,cost:longint;
end;
vect=array[1..50001]of longint;
vect_muchii=array[1..250001]of muchie;
var a:vect_muchii; d:vect;
n,m:longint;
f,g:text;
procedure initializare;
var i:longint;
begin
readln(f,n,m);
for i:=1 to m do readln(f,a[i].x,a[i].y,a[i].cost);
for i:=1 to n do d[i]:=infinit;
end;
procedure dijk;
var i:longint;ok:boolean;
begin
d[1]:=0;
ok:=true;
while ok do begin
ok:=false;
for i:=1 to m do
if d[a[i].y]>d[a[i].x]+a[i].cost then begin
ok:=true;
d[a[i].y]:=d[a[i].x]+a[i].cost;
end;
end;
end;
procedure afisare;
var i:longint;
begin
for i:=2 to n do
if d[i]=infinit then write(g,'0 ')
else write(g,d[i],' ');
end;
begin
assign(f,'dijkstra.in');reset(f);
assign(g,'dijkstra.out');rewrite(g);
initializare;
dijk;
afisare;
close(f);close(g);
end.