답안 #896010

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
896010 2023-12-31T12:23:26 Z Andrey Aliens (IOI07_aliens) C++14
0 / 100
2 ms 344 KB
#include<bits/stdc++.h>
using namespace std;

long long n;

bool query(long long x, long long y) {
    if(x < 1 || x > n || y < 1 || y > n) {
        return false;
    }
    string s;
    cout << "examine " << x << " " << y << endl;
    cin >> s;
    if(s == "false") {
        return false;
    }
    else {
        return true;
    }
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    long long x,y;
    cin >> n >> x >> y;
    long long r = x,c,l = x,u = y;
    for(long long i = 0; i < 31; i++) {
        c = i;
        if(!query(r+(1 << i),y)) {
            break;
        }
    }
    for(long long i = c; i >= 0; i--) {
        if(query(r+(1 << i),y)) {
            r+=(1 << i);
        }
    }
    c = 0;
    for(long long i = 0; i < 31; i++) {
        c = i;
        if(!query(l-(1 << i),y)) {
            break;
        }
    }
    for(long long i = c; i >= 0; i--) {
        if(query(l-(1 << i),y)) {
            l-=(1 << i);
        }
    }
    long long m = r-l+1;
    c = 0;
    for(long long i = 0; i < 31; i++) {
        c = i;
        if(!query(x,u+(1 << i))) {
            break;
        }
    }
    for(long long i = c; i >= 0; i--) {
        if(query(x,u+(1 << i))) {
            u+=(1 << i);
        }
    }
    long long d = u-m+1;
    x = (l+r)/2,y = (u+d)/2;
    long long sb1 = 0,sb2 = 0;
    for(long long i = -4; i <= 4; i++) {
        for(long long j = -4; j <= 4; j++) {
            if(query(x+i*m,y+j*m)) {
                sb1+=x+i*m;
                sb2+=y+i*m;
            }
        }
    }
    cout << "solution " << sb1/13 << " " << sb2/13 << endl;
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB Output is correct
2 Incorrect 1 ms 344 KB Incorrect
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB Output is correct
2 Incorrect 1 ms 344 KB Incorrect
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Incorrect 2 ms 344 KB Incorrect
4 Halted 0 ms 0 KB -