Cod sursa(job #251509)

Utilizator StigmaSimina Pitur Stigma Data 2 februarie 2009 20:57:41
Problema Algoritmul lui Dijkstra Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream.h>
#include <fstream.h>
#include <values.h>

ifstream fin("dijkstra.in");
ofstream fout("dijkstra.out");

struct muchie{int sursa, dest; long dist;};
long d[50000];

muchie e[250005];
int n,m;

int main()
{int i,j,x,y;
long c;
fin>>n>>m;

for (i=1;i<=m;i++)
 {fin>>x>>y>>c;
  e[i].sursa=x;
  e[i].dest=y;
  e[i].dist=c;
 }


 for (i=2;i<=n;i++)
  if (d[i]==0)
   d[i]=MAXLONG;
c=1;

for (j=1;j<=n && c;j++, c=0)
 for (i=1;i<=m;i++)
  if (d[e[i].dest]>d[e[i].sursa]+e[i].dist)
   {d[e[i].dest]=d[e[i].sursa]+e[i].dist;
    c=1;
   }

for (i=2;i<=n;i++)
if (d[i]==MAXLONG) fout<<"0 ";
else
fout<<d[i]<<" ";

fout.close();
return 0;
}