이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<bits/stdc++.h>
using namespace std;
int n, xo, yo;
string ck;
bool check(int x, int y){
if(x < 1 || x > n || y < 1 || y > n) return false;
cout << "examine " << x << ' ' << y << endl;
cin >> ck;
if(ck == "false") return false;
return true;
}
int main(){
cin >> n >> xo >> yo;
int lx = xo, ly = yo, x = xo, y = yo;
for(int i = 31; i >= 0; --i){
x = lx - (1<<i), y = ly;
if(check(x, y)) lx = x, ly = y;
}
for(int i = 31; i >= 0; --i){
x = lx, y = ly - (1<<i);
if(check(x, y)) lx = x, ly = y;
}
for(int i = 31; i >= 0; --i){
x = lx - (1<<i), y = ly - (1<<i);
if(check(x, y)) lx = x, ly = y;
}
int rx = lx, ry = ly;
for(int i = 31; i >= 0; --i){
int cx = rx + (1<<i);
if(check(cx, ly)) rx = cx;
}
for(int i = 31; i >= 0; --i){
int cy = ry + (1<<i);
if(check(lx, cy)) ry = cy;
}
cout << "solution " << (lx + rx)/2 << ' ' << (ly + ry)/2 << 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... |