Pagini recente » Cod sursa (job #2385431) | Cod sursa (job #1361112) | Cod sursa (job #2315796) | Cod sursa (job #1210690) | Cod sursa (job #2619195)
#include <bits/stdc++.h>
using namespace std;
const int mxN=50001;
int n,m,a,b,c;
vector < pair<int,int> > g[mxN];
int dist[mxN];
void dijkstra (int start){
queue <int> q;
q.push(start);
while(!q.empty()){
int em=q.front();
q.pop();
for (int i=0; i<g[em].size(); i++){
int node = g[em][i].first;
int len = g[em][i].second;
if (dist[em]+len<dist[node] || dist[node]==0){
dist[node]=dist[em]+len;
q.push(node);
}
}
}
}
int main()
{
ifstream cin("dijkstra.in");
ofstream cout("dijkstra.out");
ios_base::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
cin>>n>>m;
for (int i=0; i<n; i++){
cin>>a>>b>>c;
g[a].push_back({b,c});
}
dijkstra(1);
for (int i=2; i<=n; i++){
cout<<dist[i]<<" ";
}
return 0;
}