Cod sursa(job #1365165)

Utilizator lau0097Cioclei Laurentiu lau0097 Data 28 februarie 2015 09:49:32
Problema Algoritmul lui Dijkstra Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <fstream>
# define nmax 50002
# define mmax 250002
# define inf 2000000000

using namespace std;
ifstream f("dijkstra.in");
ofstream g("dijkstra.out");

int n,m;
int x,y,c;
struct muchie
{
    int x,y,c;
};
muchie G[mmax];
int D[nmax];

int main ()
{int ok=0,i;
    f>>n>>m;
    for(i=1;i<=m;++i)
    {
        f>>G[i].x>>G[i].y>>G[i].c;
        if(x==1) D[y]=1;
    }
    for (i=2;i<=n;++i)
        if (D[i]==0) D[i]=inf;


    while(ok==0)
    {

        ok=1;
        for(i=1;i<=m;i++)
            if (D[G[i].y] > D[G[i].x]+G[i].c)
        {
            D[G[i].y] = D[G[i].x] + G[i].c;
            ok=0;
       }
    }
    for(i=2;i<=n;++i)
    {
        if(D[i]!=inf ) g<<D[i]<<' ';
    }

    return 0;
}