Advertisement
Guest User

Untitled

a guest
Dec 7th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.42 KB | None | 0 0
  1. #include <iostream>
  2. #include <stdio.h>
  3.  
  4. using namespace std;
  5.  
  6. int n, m, a, b;
  7.  
  8. int main () {
  9.         freopen("input.txt", "r", stdin);
  10.         freopen("output.txt", "w", stdout);
  11.  
  12.         cin >> n>> m;
  13.         int d[n][n];
  14.         int c[m][2];
  15.  
  16.         for(int i=0; i<n; i++) {
  17.                 for (int j=0; j<n; j++) {
  18.                         cin >> d[i][j];
  19.                 }
  20.         }
  21.  
  22.         for (int i=0; i<m; i++) {
  23.                 for (int j=0; j<2; j++) {
  24.                         cin >> c[i][j];
  25.                 }
  26.         }
  27.  
  28.         for (int i=0; i<n; i++) {
  29.                 for (int j=0; j<=n; j++) {
  30.                         if (d[i][j]==(-1001)) {
  31.                                 d[i][j]=10000;
  32.                         }
  33.                 }
  34.         }
  35.  
  36.         for (int k=0; k<n; k++) {
  37.                 for (int i=0; i<n; i++) {
  38.                         for(int j=0; j<n; j++) {
  39.                                 d[i][j]=min(d[i][j],d[i][k]+d[k][j]);
  40.                         }
  41.                 }
  42.         }
  43.  
  44.         for (int i=0; i<n; i++) {
  45.                 for (int j=0; j<n; j++) {
  46.                         if (d[i][j]==10000) {
  47.                                 d[i][j]=-1001;
  48.                         }
  49.                 }
  50.         }
  51.  
  52.         for (int i=0; i<m; i++) {
  53.                 a=c[i][0];
  54.                 b=c[i][1];
  55.                 cout << d[a-1][b-1] << endl;
  56.         }
  57.  
  58.         return 0;
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement