Pagini recente » Cod sursa (job #405710) | Cod sursa (job #1126027) | Cod sursa (job #796972) | Cod sursa (job #272535) | Cod sursa (job #812628)
Cod sursa(job #812628)
#include<fstream>
#define INF 0x3f3f3f3f
using namespace std;
ifstream f("dijkstra.in");
ofstream g("dijkstra.out");
int x[250005],y[250005],c[250005];
int d[50005],n,m,ok;
int main()
{ f>>n>>m;
for(register int i=2; i<=n; ++i) d[i]=INF;
for(register int i=1; i<=m; ++i)
{ f>>x[i]>>y[i]>>c[i];
if(x[i]==1) d[y[i]]=c[i];
}
do { ok=0;
for(register int i=1; i<=m; ++i)
if(d[y[i]]>d[x[i]]+c[i]) d[y[i]]=d[x[i]]+c[i], ok=1;
}
while (ok);
for(register int i=2; i<=n; ++i)
if(d[i]!=INF) g<<d[i]<<' '; else g<<"0 ";
g<<'\n';
return 0;
}