Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<fstream>
- using namespace std;
- int main() {
- ifstream fin("pathmgep.in");
- ofstream gaw("pathmgep.out");
- long n, i, j, k, s, f, v;
- fin >> n >> s >> f;
- long Matrix[n][n];
- long d[n][n];
- for (i = 0; i < n; i++) {
- for (j = 0; j < n; j++) {
- fin >> Matrix[i][j];
- if (Matrix[i][j] == -1) Matrix[i][j] = 2000000000;
- d[i][j] = Matrix[i][j];
- }
- }
- for (i = 1; i < n + 1; i++){
- for (j = 0; j < n; j++){
- for (k = 0; k < n; k++){
- if (d[j][k] > d[j][i - 1] + d[i - 1][k]) d[j][k] = d[j][i - 1] + d[i - 1][k];
- }
- }
- }
- if (d[s - 1][f - 1] == 2000000000) d[s - 1][f - 1] = -1;
- gaw << d[s - 1][f - 1] << endl;
- fin.close();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement