#include <bits/stdc++.h>
using namespace std;
int N;
bool query(int x, int y){
if (!(1 <= x && x <= N && 1 <= y && y <= N)) return 0;
cout << "examine " << x << ' ' << y << endl;
string res; cin >> res;
return res == "true";
}
int main(){
int xi, yi; cin >> N >> xi >> yi;
int l = 0, r = 0, u = 0, d = 0, l2 = 0, r2 = 0, u2 = 0, d2 = 0;
while (query(xi - l - 1, yi)) l++;
while (query(xi + r + 1, yi)) r++;
while (query(xi, yi - u - 1)) u++;
while (query(xi, yi + d + 1)) d++;
int sz = l + r + 1;
while (query(xi - (l2 + 2) * sz, yi)) l2 += 2;
while (query(xi + (r2 + 2) * sz, yi)) r2 += 2;
while (query(xi, yi - (u2 + 2) * sz)) u2 += 2;
while (query(xi, yi + (d2 + 2) * sz)) d2 += 2;
if (l2 + r2 == 2){
l2++; r2++;
}
if (u2 + d2 == 2){
u2++; d2++;
}
int xf = xi + (sz / 2 - l) + (2 - l2) * sz, yf = yi + (sz / 2 - u) + (2 - u2) * sz;
cout << "solution " << xf << ' ' << yf << endl;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |