Pagini recente » Cod sursa (job #1895896) | Cod sursa (job #2432264) | Cod sursa (job #1613570) | Cod sursa (job #48328) | Cod sursa (job #1974022)
#include<bits/stdc++.h>
#define inf 100001
using namespace std;
int n,m,i,j,c[101][101],x,y,p,d[101],viz[101],dmin,vfmin;
int main()
{
ios_base::sync_with_stdio(false);cin.tie(0);cerr.tie(0);cout.tie(0);
freopen("dijkstra.in","r",stdin);
freopen("dijkstra.out","w",stdout);
cin>>n>>m;
for(i=1;i<=n;i++)for(j=i+1;j<=n;j++)c[j][i]=c[i][j]=inf;
for(i=1;i<=m;i++)
{
cin>>x>>y>>p;
c[x][y]=p;
}
for(i=1;i<=n;i++)d[i]=c[1][i];
viz[1]=1;
for(i=1;i<=n-1;i++)
{
dmin=inf;
for(j=1;j<=n;j++)if(d[j]<dmin && !viz[j])dmin=d[j],vfmin=j;
viz[vfmin]=1;
for(j=1;j<=n;j++)if(!viz[j] && d[j]>dmin+c[vfmin][j])d[j]=dmin+c[vfmin][j];
}
for(i=2;i<=n;i++)cout<<d[i]<<" ";
return 0;
}