Submission #886344

# Submission time Handle Problem Language Result Execution time Memory
886344 2023-12-11T22:31:41 Z stefanneagu Furniture (JOI20_furniture) C++17
5 / 100
180 ms 13648 KB
#include <bits/stdc++.h>
using namespace std;
const int nmax = 1e3 + 5;
int jd[nmax][nmax], ss[nmax][nmax], diag[nmax], n, m;
int f[nmax][nmax];
void remo(int i, int j) {
  if (f[i][j]) return;
  f[i][j] = 1, diag[i + j]--;
  if (--jd[i+1][j] == 0) remo(i+1, j);
  if (--jd[i][j+1] == 0) remo(i, j+1);
  if (--ss[i-1][j] == 0) remo(i-1, j);
  if (--ss[i][j-1] == 0) remo(i, j-1);
}
int main() {
  ios_base::sync_with_stdio(false); cin.tie(0);
  cin >> n >> m;
  for (int i = 1; i <= n; f[i][0] = f[i][m+1] = 1, i++) {
    for (int j = 1; j <= m; f[0][j] = f[n+1][j] = 1, j++) {
      diag[i+j]++;
      jd[i+1][j]++, jd[i][j+1]++;
      ss[i-1][j]++, ss[i][j-1]++;
    }
  }
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= m; j++) {
      int x; cin >> x;
      if (x) remo(i, j);
    }
  }
  int q; cin >> q;
  while (q--) {
    int i, j, ans = 0; cin >> i >> j;
    if (diag[i + j] != 1 || f[i][j] == 1)
      remo(i, j), ans = 1;
    cout << ans << "\n";
  }
  return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 6744 KB Output is correct
2 Correct 2 ms 8796 KB Output is correct
3 Correct 2 ms 8796 KB Output is correct
4 Correct 3 ms 8852 KB Output is correct
5 Correct 3 ms 8796 KB Output is correct
6 Correct 3 ms 8792 KB Output is correct
7 Correct 3 ms 8792 KB Output is correct
8 Correct 3 ms 8796 KB Output is correct
9 Correct 3 ms 8796 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 6744 KB Output is correct
2 Correct 2 ms 8796 KB Output is correct
3 Correct 2 ms 8796 KB Output is correct
4 Correct 3 ms 8852 KB Output is correct
5 Correct 3 ms 8796 KB Output is correct
6 Correct 3 ms 8792 KB Output is correct
7 Correct 3 ms 8792 KB Output is correct
8 Correct 3 ms 8796 KB Output is correct
9 Correct 3 ms 8796 KB Output is correct
10 Correct 8 ms 6748 KB Output is correct
11 Correct 2 ms 6748 KB Output is correct
12 Correct 108 ms 12932 KB Output is correct
13 Correct 44 ms 12120 KB Output is correct
14 Incorrect 180 ms 13648 KB Output isn't correct
15 Halted 0 ms 0 KB -