#include <bits/stdc++.h>
#define endl '\n'
#define int long long
using namespace std;
int R, C, N = 0;
bool trampolines[2500][2500];
bool visited[2500][2500];
int xStart = 0;
int yStart = 0;
int xEnd = 0;
int yEnd = 0;
bool dfs(int x, int y){
if (visited[x][y] == true) return false;
if (x > R || x < 1 || y > C || y < 1) return false;
if (x == xEnd && y == yEnd){
//cout << "yes" << endl;
visited[x][y] = true;
return true;
}
visited[x][y] = true;
if (trampolines[x][y] == false){
dfs(x, y+1);
}
else{
dfs(x + 1, y);
dfs(x, y+1);
}
return visited[xEnd][yEnd];
}
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
memset(trampolines, false, sizeof(trampolines[0][0])*2500*2500);
cin >> R >> C >> N;
for (int i = 0; i < N; i++){
int temp1 = 0;
int temp2 = 0;
cin >> temp1 >> temp2;
trampolines[temp1][temp2] = true;
}
int T = 0;
cin >> T;
for (int i = 0; i < T; i++){
memset(visited, false, sizeof(visited[0][0])*2500*2500);
cin >> xStart >> yStart >> xEnd >> yEnd;
bool test = dfs(xStart, yStart);
if (test){
cout << "Yes" << endl;
}
else{
cout << "No" << endl;
}
}
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
50 ms |
12492 KB |
200 token(s): yes count is 21, no count is 179 |
2 |
Correct |
92 ms |
12612 KB |
200 token(s): yes count is 70, no count is 130 |
3 |
Correct |
72 ms |
12576 KB |
197 token(s): yes count is 25, no count is 172 |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
14 ms |
13352 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
9 ms |
12884 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
8 ms |
12916 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
9 ms |
12844 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |