Advertisement
Guest User

Untitled

a guest
Apr 4th, 2020
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.62 KB | None | 0 0
  1. #include<iostream>
  2. #include<fstream>
  3.  
  4. using namespace std;
  5.  
  6. int main() {
  7.     //ifstream fin("pathmgep.in");
  8.     //ofstream gaw("pathmgep.out");
  9.     long n, m;
  10.     cin >> n >> m;
  11.     long Matrix[n][n];
  12.     /*long d[n];
  13.     bool Mark[n];
  14.     d[s - 1] = 0;
  15.     Mark[0] = true;
  16.     for (i = 0; i < n; i++) Mark[i] = false;
  17.     for (i = 0; i < n; i++) {
  18.         for (j = 0; j < n; j++) {
  19.             cin >> Matrix[i][j];
  20.             if (Matrix[i][j] == -1)  Matrix[i][j] = 2000000000;
  21.         }
  22.     }
  23.     for (i = 0; i < n; i++){
  24.         v = -1;
  25.         for (j = 0; j < n; j++){
  26.             if ((not Mark[j]) and ((v == -1) or (d[v] > d[j]))) v = j;
  27.         }
  28.         Mark[v] = true;
  29.         for (k = 0; k < n; k++){
  30.             if (d[k] > (d[v] + Matrix[v][k])) d[k] = (d[v] + Matrix[v][k]);
  31.         }
  32.     }*/
  33.     long d[n][n];
  34.     for (long i = 0; i < n; i++) {
  35.         for (long j = 0; j < n; j++) d[i][j] = 0;
  36.     }
  37.     for (long i = 0; i < m; i++) {
  38.         long k, j, v;
  39.         cin >> k >> j >> v;
  40.         d[k][j] = v;
  41.             //if (Matrix[k][j] == -1)  Matrix[k][j] = 2000000000;
  42.             //d[k][j] = Matrix[k][j];
  43.     }
  44.     for (long i = 1; i < n + 1; i++){
  45.         for (long j = 0; j < n; j++){
  46.             for (long k = 0; k < n; k++){
  47.                 if (d[j][k] > d[j][i - 1] + d[i - 1][k]) d[j][k] = d[j][i - 1] + d[i - 1][k];
  48.             }
  49.         }
  50.     }
  51.     //if (d[s - 1][f - 1] == 2000000000) d[s - 1][f - 1] = -1;
  52.     //gaw << d[s - 1][f - 1] << endl;
  53.     for (long i = 0; i < n; i++) {
  54.         for (long j = 0; j < n; j++) cout << d[i][j] << ' ';
  55.         cout << endl;
  56.     }
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement