Pagini recente » Cod sursa (job #475759) | Cod sursa (job #475755) | Cod sursa (job #822264) | Cod sursa (job #2305733) | Cod sursa (job #1367169)
#include <fstream>
#define nmax 50002
#define mmax 250002
#define inf 200000000
using namespace std;
ifstream f("dijkstra.in");
ofstream g("dijkstra.out");
struct muchie
{
int x,y,l;
};
muchie G[mmax];
int D[nmax];
int n,m;
int main()
{f>>n>>m;
int i,ok=0;
for(i=1;i<=m;++i)
{
f>>G[i].x>>G[i].y>>G[i].l;
if(G[i].x==1) D[G[i].y]=G[i].l;
}
for(i=2;i<=n;i++) if(D[i]==0) D[i]=inf;
while(ok==0)
{
ok=1;
for(i=1;i<=m;++i)
if(D[G[i].y]>D[G[i].x]+G[i].l)
{D[G[i].y]=D[G[i].x]+G[i].l;
ok=0;
}
}
for(i=2;i<=n;++i)
{
if(D[i]!=inf) g<<D[i]<<' ';
else g<<0<<' ';
}
return 0;
}