Pagini recente » Rezultatele filtrării | Cod sursa (job #1075781) | Cod sursa (job #2276344) | Cod sursa (job #2182662) | Cod sursa (job #2168550)
#include<bits/stdc++.h>
#define INF 0x3f3f3f3f
using namespace std;
ifstream f("dijkstra.in");
ofstream g("dijkstra.out");
int N,M,x,y,c,d[50001];
vector <int> G[50001],C[50001];
queue <int> q;
int main()
{
f>>N>>M;
while(M--){
f>>x>>y>>c;
G[x].push_back(y);
C[x].push_back(c);
}
for(int i=2;i<=N;++i)d[i]=INF;
q.push(1);
while(!q.empty()){
x=q.front();
q.pop();
for(int i=0;i<G[x].size();++i)
if(d[G[x][i]]>d[x]+C[x][i]){
d[G[x][i]]=d[x]+C[x][i];
q.push(G[x][i]);
}
}
for(int i=2;i<=N;++i)
if(d[i]==INF)g<<0<<' ';
else g<<d[i]<<' ';
return 0;
}