Submission #496066

# Submission time Handle Problem Language Result Execution time Memory
496066 2021-12-20T13:51:21 Z minhcool Furniture (JOI20_furniture) C++17
0 / 100
2 ms 844 KB
#include<bits/stdc++.h>
using namespace std;
 
#define int long long
#define fi first
#define se second
#define pb push_back
#define mp make_pair
#define foru(i, l, r) for(int i = l; i <= r; i++)
#define ford(i, r, l) for(int i = r; i >= l; i--)
 
typedef pair<int, int> ii;
typedef pair<ii, int> iii;
typedef pair<ii, ii> iiii;
 
const int N = 105;
 
const int oo = 1e18 + 7, mod = 1e9 + 7;
 
int n, m, c[N][N], q;
 
bool vis[N][N];
 
bool ck(){
	queue<ii> bfs;
  	while(!bfs.empty()) bfs.pop();
	bfs.push({1, 1});
    for(int i = 1; i <= n; i++){
  		for(int j = 1; j <= m; j++) vis[i][j] = 0;
  	}
    vis[1][1] = 1;
  int cnt = 0;
	while(!bfs.empty()){
		ii u = bfs.front();
		bfs.pop();
      cnt++;
      assert(cnt <= n * m);
        vis[u.fi][u.se] = 1;
		if(u == make_pair(n, m)) return 1;
		if(u.se != m && c[u.fi][u.se + 1] == 0 && !vis[u.fi][u.se + 1]) bfs.push({u.fi, u.se + 1});
		if(u.fi != n && c[u.fi + 1][u.se] == 0 && !vis[u.fi + 1][u.se]) bfs.push({u.fi + 1, u.se});
	}
	return 0;
}
 
void process(){
	cin >> n >> m;
	for(int i = 1; i <= n; i++){
		for(int j = 1; j <= m; j++) cin >> c[i][j];
	}
	cin >> q;
	while(q--){
		int x, y;
		cin >> x >> y;
		c[x][y] = 1;
		if(!ck()){
			cout << 0 << "\n";
			c[x][y] = 0;
		}
		else cout << 1 << "\n";
	}
}
 
signed main(){
	ios_base::sync_with_stdio(0);
	process();
}
# Verdict Execution time Memory Grader output
1 Runtime error 2 ms 844 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 2 ms 844 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -