Submission #475205

#TimeUsernameProblemLanguageResultExecution timeMemory
475205bigoTrampoline (info1cup20_trampoline)C++14
0 / 100
2081 ms358004 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 (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 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...