Taksh

NUMROUTE

Jan 1st, 2018
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.71 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. long long n, s, d, k;
  4. long long matrix[75][75][75] = { 0 };
  5. int main()
  6. {
  7.     cin >> n;
  8.     for (long long i = 1; i <= n; ++i)
  9.     {
  10.         for (long long j = 1; j <= n; ++j)
  11.         {
  12.             cin >> matrix[i][j][1];
  13.         }
  14.     }cin >> s >> d >> k;
  15.     for (long long t = 2; t <= k; ++t)  // matrix power
  16.     {
  17.         for (long long i = 1; i <= n; ++i)//row
  18.         {
  19.             for (long long j = 1; j <= n; ++j)//column
  20.             {
  21.                 for (long long f = 1; f <= n; ++f)  // multiplication iterator
  22.                     matrix[i][j][t] += matrix[i][f][t - 1] * matrix[f][j][1]; // the real work happens here
  23.                 //if (t == k){cout << matrix[i][j][t] << "( " << i << "," << j << " )";} testing
  24.             }
  25.         }
  26.     }
  27.     cout << matrix[s][d][k];
  28.     return 0;
  29. }
Add Comment
Please, Sign In to add comment