Pagini recente » Cod sursa (job #16387) | Cod sursa (job #2790112) | Cod sursa (job #903246) | Cod sursa (job #771638) | Cod sursa (job #866942)
Cod sursa(job #866942)
#include<fstream>
#define inf 1<<18
using namespace std;
ifstream f("dijkstra.in");
ofstream g("dijkstra.out");
int m,i,D[50001],ok=1,n;
struct arc
{
int x,y,cost;
}v[250001];
int main ()
{
f>>n>>m;
for(i=2;i<=n;++i)
D[i]=inf;
for(i=1;i<=m;++i)
{
f>>v[i].x>>v[i].y>>v[i].cost;
if(v[i].x==1)
D[v[i].y]=v[i].cost;
}
while(ok)
{
ok=0;
for(i=1;i<=m;++i)
{
if(D[v[i].x]!=inf && D[v[i].y]>D[v[i].x]+v[i].cost)
{
D[v[i].y]=D[v[i].x]+v[i].cost;
ok=1;
}
}
}
for(i=2;i<=n;++i)
g<<(D[i]>=inf?0:D[i])<<" ";
return 0;
}