ceva_megamind

Тупняк по карте сокровищ

Jan 25th, 2020
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.91 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. vector<vector<int>>g(200, vector<int>(200,0));
  8. int len,n,m;
  9. string s;
  10.  
  11. void dfs(int i, int j, int num) {
  12.     if ((i < 0) || (j < 0) || (i > n) || (j > m))
  13.         return;
  14.     if (num == len) {
  15.         g[i][j] = 1;
  16.         return;
  17.     }
  18.     if (s[num] == 'R')
  19.         dfs(i, j + 1, num + 1);
  20.     else if (s[num] == 'L')
  21.         dfs(i, j - 1, num + 1);
  22.     else if (s[num] == 'U')
  23.         dfs(i - 1, j, num + 1);
  24.     else if (s[num] == 'D')
  25.         dfs(i + 1, j, num + 1);
  26.     else {
  27.         dfs(i, j - 1, num + 1);
  28.         dfs(i, j + 1, num + 1);
  29.         dfs(i - 1, j, num + 1);
  30.         dfs(i + 1, j, num + 1);
  31.     }
  32. }
  33.  
  34. int main() {
  35.     ios_base::sync_with_stdio(false);
  36.     cin.tie(0);
  37.     cout.tie(0);
  38.     int x, y;
  39.     cin >> n >> m >> x >> y;
  40.     n--;m--;x--;y--;
  41.     cin >> s;
  42.     len = s.length();
  43.     dfs(x,y,0);
  44.     for (int i = 0; i <= n;i++) {
  45.         for (int j=0; j<=m; j++)
  46.             cout << g[i][j] << " ";
  47.         cout << "\n";
  48.     }
  49. }
Add Comment
Please, Sign In to add comment