Pagini recente » Cod sursa (job #1621725) | Cod sursa (job #982607) | Cod sursa (job #1202021) | Cod sursa (job #831425) | Cod sursa (job #149065)
Cod sursa(job #149065)
const inf=32000;
type mat=array[1..100,1..100] of integer;
vec=array[1..100] of longint;
var a:mat;
d,v,t:vec;
i,j,n,m,b,c,cost:integer;
f,g:text;
procedure dijkstra(nod:integer);
var mini,min,i,j:integer;
begin
for i:=1 to n do
d[i]:=inf;
d[nod]:=0;
for j:=1 to n do
begin
v[nod]:=1;
for i:=1 to n do
begin
if (d[i]>d[nod]+a[nod,i]) then
begin
d[i]:=d[nod]+a[nod,i];
t[i]:=nod;
end;
end;
min:=inf;
mini:=0;
for i:=1 to n do
if v[i]=0 then
if min>d[i] then
begin
min:=d[i];
mini:=i;
end;
nod:=mini;
end;
end;
begin {main}
assign(input,'dijkstra.in');reset(input);
assign(output,'dijkstra.out');rewrite(output);
read(n,m);
for i:=1 to n do
for j:=1 to n do
a[i,j]:=inf;
for i:=1 to m do
begin
read(b,c,cost);
a[b,c]:=cost;
a[c,b]:=cost;
end;
dijkstra(1);
for i:=2 to n do
write(d[i],' ');
close(input);
close(output);
end.