Pagini recente » Cod sursa (job #3040549) | Cod sursa (job #1277319) | Cod sursa (job #3226568) | Cod sursa (job #2207712) | Cod sursa (job #408440)
Cod sursa(job #408440)
#include<iostream.h>
#include<fstream.h>
#define INF 32000
int n,i,j,d[100],e1,e2,c,a[100][100],v[100],sol[100],u,m;
int main()
{
freopen("dijkstra.in","r",stdin);
freopen("dijkstra.out","w",stdout);
cin>>n>>m;
for(i=1;i<=m;i++)
{
cin>>e1>>e2>>c;
a[e1][e2]=c;
}
for(i=1;i<=n;i++)
{
if(i!=1) d[i]=INF;
else d[i]=0;
}
sol[1]=1;
u=1;
for(j=1;j<=n;j++)
for(i=1;i<=n;i++)
if(a[sol[j]][i])
{
if(j!=1) if(a[sol[j]][i]+d[sol[j]]<d[i]) d[i]=a[sol[j]][i]+d[sol[j]];
if(j==1)if(a[sol[j]][i]<d[i]) d[i]=a[sol[j]][i];
u++;
sol[u]=i;
}
for(i=2;i<=n;i++){ if(d[i]==INF) cout<<0<<" "; else cout<<d[i]<<" "; }
}