Advertisement
Guest User

Untitled

a guest
Apr 4th, 2020
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.80 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, i, j, k, s, f, v;
  10.     fin >> n >> s >> f;
  11.     long Matrix[n][n];
  12.     long d[n][n];
  13.     for (i = 0; i < n; i++) {
  14.         for (j = 0; j < n; j++) {
  15.             fin >> Matrix[i][j];
  16.             if (Matrix[i][j] == -1)  Matrix[i][j] = 2000000000;
  17.             d[i][j] = Matrix[i][j];
  18.         }
  19.     }
  20.     for (i = 1; i < n + 1; i++){
  21.         for (j = 0; j < n; j++){
  22.             for (k = 0; k < n; k++){
  23.                 if (d[j][k] > d[j][i - 1] + d[i - 1][k]) d[j][k] = d[j][i - 1] + d[i - 1][k];
  24.             }
  25.         }
  26.     }
  27.     if (d[s - 1][f - 1] == 2000000000) d[s - 1][f - 1] = -1;
  28.     gaw << d[s - 1][f - 1] << endl;
  29.     fin.close();
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement