Advertisement
Guest User

Floyd

a guest
Jun 18th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.99 KB | None | 0 0
  1. // Floyd.cpp: определяет точку входа для консольного приложения.
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include <iostream>
  6.  
  7. using namespace std;
  8.  
  9. int main()
  10. {
  11.     int n, m, c, x, y;
  12.     cin >> n >> m;
  13.     int A[10][10];
  14.     for (int i = 1; i <= n; i++)
  15.         for (int j = 1; j <= n; j++) {
  16.             A[i][j] = 0;
  17.         }
  18.     for (int i = 1; i <= m; i++) {
  19.         cin >> x >> y >> c;
  20.         A[x][y] = c;
  21.     }
  22.     for (int i = 1; i <= n; i++) {
  23.         for (int j = 1; j <= m; j++) {
  24.             cout << A[i][j] << " ";
  25.         }
  26.         cout << endl;
  27.     }
  28.  
  29.     int C[10][10];
  30.     for (int i = 1; i <= n; i++)
  31.         for (int j = 1; j <= n; j++) {
  32.             C[i][j] = A[i][j];
  33.         }
  34.     for (int i = 1; i <= n; i++) {
  35.         C[i][i] = 0;
  36.     }
  37.     for (int k=1; k<=n; k++)
  38.         for (int i=1; i<=n; i++)
  39.             for (int j = 1; j <= n; j++) {
  40.                 if (C[i][k] + C[k][j] < C[i][j])
  41.                     C[i][j] = C[i][k]+C[k][i];
  42.             }
  43.     for (int i = 1; i <= n; i++) {
  44.         for (int j = 1; j <= m; j++) {
  45.             cout << C[i][j] << " ";
  46.         }
  47.         cout << endl;
  48.     }
  49.     return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement