Advertisement
Guest User

Untitled

a guest
Jun 16th, 2014
371
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.87 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. const int dxh[] = {-2, -2, 2, 2, -1, -1, 1, 1};
  6. const int dyh[] = {-1, 1, -1, 1, -2, 2, -2, 2};
  7.  
  8. bool in(int i, int j, int n, int m)
  9. {
  10.     return i >= 1 && i <= n && j >= 1 && j <= m;
  11. }
  12.  
  13. int dp[111][111][111];
  14.  
  15. int main()
  16. {
  17.     int n, k;
  18.     cin >> n >> k;
  19.     dp[0][n][1] = 1;
  20.  
  21.     for(int cnt = 0; cnt < k; cnt++)
  22.     {
  23.         for(int i = 1; i <= n; i++)
  24.             for(int j = 1; j <= n; j++)
  25.             {
  26.                 for(int dir = 0; dir < 8; dir++)
  27.                 {
  28.                     int ni = i + dxh[dir];
  29.                     int nj = j + dyh[dir];
  30.                     if(in(ni, nj, n, n))
  31.                     {
  32.                         dp[cnt + 1][ni][nj] += dp[cnt][i][j];
  33.                     }
  34.                 }
  35.             }
  36.     }
  37.  
  38.     cout << dp[k][1][n] << endl;
  39.     return 0;
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement