#include <iostream>
using namespace std;
int main()
{
int N, x, y;
cin >> N >> x >> y;
int u = 0, l = 0, r = 0, d = 0;
int ar = 1, al = 1, au = 1, ad = 1;
bool flat = true;
while(ar && x + r + ar <= N){
cout << "examine " << x + r + ar << " " << y << endl;
string ans;
cin >> ans;
if(ans != "true"){
flat = false;
ar /= 2;
}
else{
r += ar;
ar *= 2;
}
while(x + r + ar > N){
ar/=2;
}
}
flat = true;
while(al && x - l - al >= 1){
cout << "examine " << x - l - al << " " << y << endl;
string ans;
cin >> ans;
if(ans != "true"){
flat = false;
al/=2;
}
else{
l+= al;
al *= 2;
}
while(x - l - al < 1){
al/=2;
}
}
flat = true;
while(au && y + u + au <= N){
cout << "examine " << x << " " << y + u + au << endl;
string ans;
cin >> ans;
if(ans != "true"){
flat = false;
au /= 2;
}
else{
u += au;
au *= 2;
}
while(y + u + au > N){
au/=2;
}
}
flat = true;
while(ad && y - d - ad >= 1){
cout << "examine " << x << " " << y - d - ad << endl;
string ans;
cin >> ans;
if(ans != "true"){
flat = false;
ad /= 2;
}
else{
d += ad;
ad *= 2;
}
while(y - d - ad < 1){
ad/=2;
}
}
int midx = (2 * x + r - l) / 2, midy = (2 * y + u - d) / 2;
int s = r + l + 1;
int cl = 0, cr = 0, cu = 0, cd = 0;
flat = true;
while(flat && midx + 2 * s * (cr + 1) <= N){
cout << "examine " << midx + 2 * s * (cr + 1) << " " << midy << endl;
string ans;
cin >> ans;
if(ans != "true"){
flat = false;
}
else{
cr++ ;
}
}
flat = true;
while(flat && midx - 2 * s * (cl + 1) >= 1){
cout << "examine " << midx - 2 * s * (cl + 1) << " " << midy << endl;
string ans;
cin >> ans;
if(ans != "true"){
flat = false;
}
else{
cl++ ;
}
}
flat = true;
while(flat && midy + 2 * s * (cu + 1) <= N){
cout << "examine " << midx << " " << midy + 2 * s * (cu + 1) << endl;
string ans;
cin >> ans;
if(ans != "true"){
flat = false;
}
else{
cu++ ;
}
}
flat = true;
while(flat && midy - 2 * s * (cd + 1) >= 1){
cout << "examine " << midx << " " << midy - 2 * s * (cd + 1) << endl;
string ans;
cin >> ans;
if(ans != "true"){
flat = false;
}
else{
cd++;
}
}
if(cl + cr == 2){
cout << "solution ";
if(cl == cr){
cout << midx << " ";
}
if(cl == 0){
cout << midx + s * 2 << " ";
}
if(cl == 2){
cout << midx - s * 2 << " ";
}
if(cu == cd){
cout << midy << " ";
}
if(cd == 0){
cout << midy + s * 2 << " ";
}
if(cd == 2){
cout << midy - s * 2 << " ";
}
cout << endl;
}
else{
cout << "solution ";
if(cl == 0){
cout << midx + s << " ";
}
if(cl == 1){
cout << midx - s << " ";
}
if(cd == 0){
cout << midy + s << " ";
}
if(cd == 1){
cout << midy - s << " ";
}
cout << endl;
}
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
208 KB |
Output is correct |
2 |
Correct |
1 ms |
208 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
208 KB |
Output is correct |
2 |
Correct |
1 ms |
208 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
208 KB |
Output is correct |
2 |
Correct |
1 ms |
208 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
208 KB |
Output is correct |
2 |
Correct |
1 ms |
208 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
208 KB |
Output is correct |
2 |
Correct |
1 ms |
208 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
208 KB |
Output is correct |
2 |
Correct |
1 ms |
208 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
208 KB |
Output is correct |
2 |
Correct |
1 ms |
208 KB |
Output is correct |
3 |
Correct |
1 ms |
208 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
208 KB |
Output is correct |
2 |
Correct |
1 ms |
208 KB |
Output is correct |
3 |
Runtime error |
3 ms |
304 KB |
Execution killed with signal 13 |
4 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
208 KB |
Output is correct |
2 |
Incorrect |
2 ms |
208 KB |
Incorrect |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
208 KB |
Output is correct |
2 |
Incorrect |
2 ms |
208 KB |
Incorrect |
3 |
Halted |
0 ms |
0 KB |
- |