Pagini recente » Cod sursa (job #1137669) | Cod sursa (job #802868) | Cod sursa (job #2859663) | Cod sursa (job #906449) | Cod sursa (job #412718)
Cod sursa(job #412718)
#include <stdio.h>
long a, b, c, n, m, ok, rez[50001];
struct lol
{
long a, b, c;
};
lol graf[250001];
int main()
{
freopen ("dijkstra.in", "rt", stdin);
freopen ("dijkstra.out", "wt", stdout);
scanf("%ld %ld", &n, &m);
for (long i = 1; i <= m; ++i)
{
scanf("%ld %ld %ld", &graf[i].a, &graf[i].b, &graf[i].c);
}
for (long i = 2; i <= n; ++i)
rez[i] = 2147000000;
ok = 1;
while(ok)
{
ok = 0;
for (long i = 1; i <= m; ++i)
{
if (rez[graf[i].a] + graf[i].c < rez[graf[i].b])
rez[graf[i].b] = rez[graf[i].a] + graf[i].c, ok = 1;
}
}
for (long i = 2; i <= n; ++i)
{
if (rez[i] != 2147000000)
printf("%ld ", rez[i]);
else
printf("0 ");
}
printf("\n");
return 0;
}