Pagini recente » Cod sursa (job #2782268) | Cod sursa (job #932171) | Cod sursa (job #1110672) | Cod sursa (job #1606529) | Cod sursa (job #1600087)
#include <fstream>
#include <vector>
using namespace std;
ifstream f("dijkstra.in");
ofstream g("dijkstra.out");
const int NMAX = 50001;
const int INF = 50000001;
struct nodstruct
{
int nod1, nod2, dist;
};
nodstruct v[NMAX];
int d[NMAX];
int n, m;
void initializare()
{
for (int i = 1; i <= n; i++)
d[i] = INF;
d[1] = 0;
}
int main()
{
int i, j, a, b, c;
f >> n >> m;
for(i = 1; i <= m; i++)
{
f >> a >> b >> c;
v[i].nod1 = a;
v[i].nod2 = b;
v[i].dist = c;
}
initializare();
for(i = 2; i <= n; i++)
{
for(j = 1; j <= m; j++)
if( d[ v[j].nod1 ] + v[j].dist < d[ v[j].nod2 ])
d[ v[j].nod2 ] = d[ v[j].nod1 ] + v[j].dist;
}
for(int i = 2; i <= n; i++)
g << d[i] << ' ';
return 0;
}