#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]); } } } }