Pagini recente » Cod sursa (job #2314567) | Cod sursa (job #1772179) | Cod sursa (job #1304957) | Cod sursa (job #478321) | Cod sursa (job #1453958)
type matrice=array [1..50,1..50]of integer;
nod=record
pond,grad,x:longint;
end;
tablou=array [1..50]of nod;
var t:tablou;
a:matrice;
i,j,k,m,n,p,q,x,y:longint;
f,g:text;
begin
assign(f,'dijkstra.in');
assign(g,'dijkstra.out');
reset(f);
rewrite(g);
read(f,n,m);
for p:=1 to m do
begin
read(f,i,j,k);
a[i,j]:=k;
end;
for i:=1 to n do
t[i].x:=i;
x:=1;
k:=0;
while k<n do
begin
for i:=1 to n do
if (a[x,i]<>0 )and((t[x].pond+a[x,i]<t[i].pond)or(t[i].pond=0))and(t[i].grad<>2) then begin
t[i].pond :=t[x].pond+a[x,i];
t[i].grad:=1;
end;
t[x].grad:=2;
k:=k+1;
i:=1;
while (t[i].grad<>1)and(k<n) do
i:=i+1;
x:=i;
end;
for i:=2 to n do
write(g,t[i].pond,' ');
close(f);
close(g);
end.