Pagini recente » Cod sursa (job #2391442) | Cod sursa (job #1595085) | Cod sursa (job #219588) | Cod sursa (job #1192313) | Cod sursa (job #412367)
Cod sursa(job #412367)
#include <stdio.h>
long a, b, c, n, m, graf[20000][20000];
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", &a, &b, &c);
graf[a][b] = graf[b][a] = c;
}
for (long j = 1; j <= n; ++j)
for (long i = 2; i <= n; ++i)
{
if (graf[1][j] && graf[j][i] && (graf[1][j] + graf[j][i] < graf[1][i] || !graf[1][i]))
graf[1][i] = graf[1][j] + graf[j][i];
}
for (long i = 2; i <= n; ++i)
{
printf("%ld ", graf[1][i]);
}
printf("\n");
return 0;
}