Cod sursa(job #2313560)
| Utilizator | Data | 7 ianuarie 2019 09:05:57 | |
|---|---|---|---|
| Problema | Algoritmul lui Dijkstra | Scor | 90 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.44 kb |
#include<fstream>
using namespace std;
#define I 0xfffff
ifstream f("dijkstra.in");
ofstream g("dijkstra.out");
struct C
{
int a,b,c;
}a[250001];
int n,m,i,d[50001],o;
int main()
{
f>>n>>m;
for(i=1;i<=m;i++)
f>>a[i].a>>a[i].b>>a[i].c;
for(i=2;i<=n;i++)
d[i]=I;
while(!o)
for(o=i=1;i<=m;i++)
if(d[a[i].b]>d[a[i].a]+a[i].c)
o=0,d[a[i].b]=d[a[i].a]+a[i].c;
for(i=2;i<=n;i++)
g<<(d[i]<I?d[i]:0)<<" ";
}
