Cod sursa(job #929050)

Utilizator Dddarius95Darius-Florentin Neatu Dddarius95 Data 26 martie 2013 20:16:06
Problema Algoritmul lui Dijkstra Scor 90
Compilator fpc Status done
Runda Arhiva educationala Marime 0.84 kb
program dijkkk;
const infinit=2000000001;
var v:array[1..3,1..250001]of longint;
    a:array[1..50001]of longint;
    n,m:longint;
    f,g:text;

procedure initializare;
var i:longint;
begin
  readln(f,n,m);
  for i:=1 to m do read(f,v[1,i],v[2,i],v[3,i]);

end;


procedure dijk;
var i:longint; k:longint;
begin
  a[1]:=0;  for i:=2 to n do a[i]:=infinit;
  k:=1;
  while k<>0 do
  begin
    k:=0;
    for i:=1 to m do
      if a[v[2,i]]>a[v[1,i]]+v[3,i] then begin a[v[2,i]]:=a[v[1,i]]+v[3,i]; inc(k); end;
  end;
end;

procedure afisare;
var i:longint;
begin
  for i:=2 to n do if a[i]=infinit then write(g,'0 ')
                                   else write(g,a[i],' ');

end;

begin
assign(f,'dijkstra.in'); reset(f);
assign(g,'dijkstra.out');rewrite(g);
initializare;
dijk;
afisare;
close(f);close(g);
end.