Advertisement
Rock-Lee

e.cpp

Mar 21st, 2019
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.73 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. #define MAXN 51
  3.  
  4. using namespace std;
  5.  
  6. int grid[MAXN][MAXN];
  7. bitset <MAXN> vis[MAXN];
  8. int n;
  9.  
  10. void dfs(int x, int y) {
  11.     vis[x][y] = 1;
  12.     if(grid[x][y] != 1) {
  13.         if(x - 1 >= 0 && !vis[x-1][y]) dfs(x-1, y);
  14.         if(x + 1 < n && !vis[x+1][y]) dfs(x+1, y);
  15.         if(y - 1 >= 0 && !vis[x][y-1]) dfs(x, y-1);
  16.         if(y + 1 < n && !vis[x][y+1]) dfs(x, y+1);
  17.     }
  18. }
  19.  
  20. int main() {
  21.     int initX, initY, endX, endY;
  22.     cin >> n;
  23.     cin >> initX >> initY;
  24.     cin >> endX >> endY;
  25.    
  26.     for(int i = 0; i < n; i++) {
  27.         for(int j = 0; j < n; j++) {
  28.             scanf("%d", grid[i][j]);
  29.         }
  30.     }  
  31.  
  32.     dfs(initX, initY);
  33.     dfs(endX, endY);
  34.  
  35.     return 0;
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement