Submission #529091

#TimeUsernameProblemLanguageResultExecution timeMemory
529091d2k05Furniture (JOI20_furniture)C++14
5 / 100
5065 ms7136 KiB
#include <bits/stdc++.h>

#define fastio ios_base :: sync_with_stdio(0), cin.tie(0);

using namespace std;
using ll = long long;

const int mxN = 1e3 + 5, mod = 1e9 + 7;

int n, m, a[mxN][mxN];
bool used[mxN][mxN];

int main() {
	fastio;
	cin >> n >> m;
	for (int i = 1; i <= n; ++i) {
		for (int j = 1; j <= m; ++j) cin >> a[i][j];
	}
	int q;
	cin >> q;
	while (q--) {
		int x, y;
		cin >> x >> y;
		a[x][y] = 1;
		queue <pair <int, int> > q;
		q.push({1, 1});
		used[1][1] = 1;
		while (!q.empty()) {
			int i = q.front().first;
			int j = q.front().second;
			q.pop();
			if (i < n && !used[i + 1][j] && !a[i + 1][j]) {
				used[i + 1][j] = 1;
				q.push({i + 1, j});
			}
			if (j < m && !used[i][j + 1] && !a[i][j + 1]) {
				used[i][j + 1] = 1;
				q.push({i, j + 1});
			}
		}
		if (used[n][m]) 
			cout << "1\n";
		else {
			cout << "0\n";
			a[x][y] = 0;
		}
		for (int i = 1; i <= n; ++i) {
			for (int j = 1; j <= m; ++j) used[i][j] = 0;
		}
	}
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...