Cod sursa(job #1693915)

Utilizator iondodon1998Dodon Ion iondodon1998 Data 24 aprilie 2016 10:53:19
Problema Algoritmul lui Dijkstra Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f1("dijkstra.in");
ofstream f2("dijkstra.out");
typedef long long int lli;
int n,m,u[250000],v[250000],s[250000],p[50000];
lli d[50000],llmax=9223372036854775807;
void readdata()
{
   f1>>n>>m;
   for(int i=1;i<=m;i++)
      f1>>u[i]>>v[i]>>s[i];
   fill_n(d,50000,llmax);
}

void run()
{
   d[1]=0;
   for(int i=1;i<=n-1;i++)
      for(int j=1;j<=m;j++)
         if(d[u[j]]!=llmax || d[v[j]]!=llmax)
            if(d[v[j]]>d[u[j]]+s[j])
               d[v[j]]=d[u[j]]+s[j], p[v[j]]=u[j];

}

void result()
{
   for(int i=2;i<=n;i++)
      f2<<d[i]<<" ";
}

int main()
{
   readdata();
   run();
   result();
   return 0;
}