#include<stdio.h> #include<memory.h> #include<algorithm> using namespace std; INT CONST maxN = 1000; INT CONST INF = 1000001; INT tab[maxN][maxN]; INT n,m,a,b,c; void Floyd(); INT main(){ scanf("%d %d\n", &n, &m); FOR(INT i = 1; i <= n; i++){ FOR(INT j = 1; j<= n; j++){ IF(tab[i][j] == 0){ tab[i][j] = INF; } } tab[i][i] = 0; } FOR(INT i = 0; i < m; i++){ scanf("%d %d %d", &a, &b, &c); tab[a][b] = c; tab[b][a] = c; } FOR(INT i = 1; i <=n; i++){ FOR(INT j = 1; j <=n;j++){ printf("z %d do %d mam%d\n", i,j,tab[i][j]); } } Floyd(); FOR(INT i = 1; i <= n; i++){ FOR(INT j = 1; j<= n; j++){ printf("ODL OD %d DO %d = %d\n", i,j,tab[i][j]); } } RETURN 0; } void Floyd(){ FOR(INT k = 1; k <=n;k++){ FOR(INT i = 1; i <= n; i++){ FOR(INT j = 1; j<=n; j++){ tab[i][j] = min(tab[i][j], tab[i][k] + tab[k][j]); } } } }