Submission #475210

#TimeUsernameProblemLanguageResultExecution timeMemory
475210bigoTrampoline (info1cup20_trampoline)C++14
23 / 100
2109 ms352836 KiB
#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 (auto u:vec[v]) { if (!visit[u]) dfs(u); } } 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 (j != c - 1) vec[i * c + j].push_back(i * c + j + 1); if (i != r - 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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...