Pagini recente » Cod sursa (job #2634474) | Cod sursa (job #2714981) | Cod sursa (job #1766068) | Cod sursa (job #2376) | Cod sursa (job #1169732)
#include<cstdio>
#include<vector>
using namespace std;
vector<int>v[50005];
vector<short int>cost[250001];
int rasp[50005],i,k,n,m,nod1,nod2;
short int costmuchie;
int main()
{
freopen("dijkstra.in","r",stdin);
freopen("dijkstra.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=m;i++)
{
scanf("%d%d%hd",&nod1,&nod2,&costmuchie);
v[nod1].push_back(nod2);
v[nod2].push_back(nod1);
cost[nod1].push_back(costmuchie);
cost[nod2].push_back(costmuchie);
rasp[i]=n+10;
}
rasp[1]=0;
for(i=1;i<=n;i++)
{
for(k=0;k<=v[i].size()-1;k++)
{
if(rasp[i]+cost[i][k]<rasp[v[i][k]])
rasp[v[i][k]]=rasp[i]+cost[i][k];
}
}
for(i=2;i<=n;i++)
printf("%d ",rasp[i]);
}