Pagini recente » Cod sursa (job #1174348) | Cod sursa (job #3143391) | Cod sursa (job #2617120) | Cod sursa (job #685249) | Cod sursa (job #1628583)
#include <iostream>
#include <fstream>
#define oo 10001
using namespace std;
ifstream f("dijkstra.in");
ofstream g("dijkstra.out");
typedef struct nod{
int x = 0, y = 0, d = oo;
};
nod G[50000];
long D[50000];
int N, M;
void citeste_fa()
{
f >> N >> M;
for(int i = 1; i <= M; i++) f >> G[i].x >> G[i].y >> G[i].d;
}
void dijkstra()
{
for(int i = 1; i <= N; i++) D[i] = oo;
D[1] = 0;
int ok = 0;
while(!ok){
ok = 1;
for(int i = 1; i <= M; i++)
if(D[G[i].y] > D[G[i].x] + G[i].d)
D[G[i].y] = D[G[i].x] + G[i].d, ok = 0;
}
}
int main()
{
citeste_fa();
dijkstra();
for(int i = 2; i <= N; i++)
if(D[i] != oo) g << D[i] << ' ';
return 0;
}