Submission #475205

# Submission time Handle Problem Language Result Execution time Memory
475205 2021-09-21T12:51:11 Z bigo Trampoline (info1cup20_trampoline) C++14
0 / 100
2000 ms 358004 KB
#include <iostream>
#include <vector>
#include <cmath>
#include <set>
using namespace std;
#define pii pair<int, int>
vector<vector<int>>vec;
vector<bool>visit;
void dfs(int v) {
	visit[v] = true;
	for (int i = 0; i < int(vec[v].size()); i++) {
		if (!visit[vec[v][i]])
			dfs(vec[v][i]);
	}
}
int main() {
	int r, c, n;
	cin >> r >> c >> n;
	set<pii>green;
	int a, b;
	for (int i = 0; i < n; i++) {
		cin >> a >> b;
		a--, b--;
		green.insert({ a,b });
	}
	vec.resize(r * c);
	visit.resize(r * c, false);
	for (int i = 0; i < r; i++) {
		for (int j = 0; j < c; j++) {
			if (green.find({ i,j }) != green.end()) {
				if (i != r - 1)
					vec[i * c + j].push_back(i * c + j + 1);
				if (j != c - 1)
					vec[i * c + j].push_back((i + 1) * c + j);
			}
			else {
				if (j != c - 1)
					vec[i * c + j].push_back(i * c + j + 1);
			}
		}
	}
	int t;
	cin >> t;
	while (t--) {
		int y1, x1, y2, x2;
		cin >> y1 >> x1 >> y2 >> x2;
		y1--, x1--, y2--, x2--;
		dfs(y1 * c + x1);
		if (visit[y2 * c + x2])
			cout << "YES";
		else
			cout << "NO";
		cout << endl;
		visit.resize(0);
		visit.resize(r * c, false);
	}
}
# Verdict Execution time Memory Grader output
1 Runtime error 17 ms 5984 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 2081 ms 358004 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 306 ms 23540 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 9 ms 1164 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 304 ms 23620 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -