Pagini recente » Cod sursa (job #500779) | Cod sursa (job #69512) | Cod sursa (job #259657) | Cod sursa (job #1400815) | Cod sursa (job #1649933)
#include<fstream>
#define INF 0x3f3f3f3f
using namespace std;
ifstream f("dijkstra.in");
ofstream g("dijkstra.out");
struct muchie {int x,y,c;} V[250005];
int d[50005],n,m,ok;
int main()
{ f>>n>>m;
for(int i=2; i<=n; ++i) d[i]=INF;
for(int i=1; i<=m; ++i)
{ f>>V[i].x>>V[i].y>>V[i].c;
if(V[i].x==1) d[V[i].y]=V[i].c;
}
do {
ok=1;
for(int i=1; i<=m; ++i)
if(d[V[i].y]>d[V[i].x]+V[i].c) {d[V[i].y]=d[V[i].x]+V[i].c; ok=0;}
}while(!ok);
for(int i=2; i<=n; ++i)
if(d[i]!=INF) g<<d[i]<<' '; else g<<"0 ";
f.close();
g.close();
return 0;
}