Advertisement
tuki2501

fcb028_vacuum.cpp

Nov 9th, 2021
748
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.86 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. const int N = 105;
  5.  
  6. int dx[] = {0, 1, 0, -1};
  7. int dy[] = {1, 0, -1, 0};
  8.  
  9. int n, k, res[N][N];
  10. bool a[N][N], vst[N][N];
  11.  
  12. int main() {
  13.   cin >> n >> k;
  14.   memset(vst, 1, sizeof(vst));
  15.   for (int i = 1; i <= n; i++)
  16.   for (int j = 1; j <= n; j++) {
  17.     cin >> a[i][j];
  18.     vst[i][j] = 0;
  19.   }
  20.   int x = 1, y = 1, dir = 0, cnt = -1;
  21.   for (int i = 1; i <= n * n; i++) {
  22.     vst[x][y] = 1;
  23.     if (!a[x][y]) res[x][y] = ++cnt;
  24.     int nx = x + dx[dir], ny = y + dy[dir];
  25.     if (vst[nx][ny]) {
  26.       dir = (dir + 1) % 4;
  27.       nx = x + dx[dir];
  28.       ny = y + dy[dir];
  29.     }
  30.     x = nx; y = ny;
  31.   }
  32.   k %= cnt * 2;
  33.   if (k > cnt) k = cnt * 2 - k;
  34.   for (int i = 1; i <= n; i++)
  35.   for (int j = 1; j <= n; j++) {
  36.     if (k == res[i][j]) {
  37.       cout << i << ' ' << j << '\n';
  38.       return 0;
  39.     }
  40.   }
  41. }
  42.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement