Cod sursa(job #568702)
| Utilizator | Data | 31 martie 2011 16:48:59 | |
|---|---|---|---|
| Problema | Algoritmul lui Dijkstra | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.47 kb |
#include<iostream.h>
#include<fstream.h>
int inf=0x3f3f3f3f;
int d[10000];
struct muchie{int x,y,c;};
muchie v[10000];
int main()
{int i,n,m;
ifstream f("dijkstra.in");
ofstream h("dijkstra.out");
f>>n>>m;
for(i=1;i<=n;i++)
d[i]=inf;
for(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;
if(d[v[i].y]>d[v[i].x]+v[i].c)
d[v[i].y]=d[v[i].x]+v[i].c;
}
for(i=2;i<=n;i++)
if(d[i]!=inf)
h<<d[i]<<" ";
else
h<<"0 ";
return 0;}
