답안 #843741

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
843741 2023-09-04T13:41:57 Z Mularstyle Aliens (IOI07_aliens) C++14
30 / 100
1 ms 600 KB
#include<bits/stdc++.h>
using namespace std;
#define ll long long
bool test(ll x,ll y)
{
    string s;
    printf("examine %lld %lld\n",x,y);
    cin>>s;
    return s=="true";

}

ll N,xo,yo;
ll M;
ll lo,ro,uo;
ll cx,cy;
ll l,r;
int main()
{

    cin>>N>>xo>>yo;
    ll jump=1;
    while( xo+jump <= N and test(xo+jump,yo) )jump*=2;
    l= xo+ jump/2;
    r=min(xo+jump,N);
    while(l<r)
    {
        ll mid=(l+r+1)/2;
        if(test(mid,yo))
            l=mid;
        else
            r=mid-1;
    }
    jump=1;
    ro=l;

    while( xo-jump >= 1 and test(xo-jump,yo) )jump*=2;
    l=max(xo-jump,(ll)1);
    r=xo-jump/2;
    while(l<r)
    {
        ll mid=(l+r)/2;
        if(test(mid,yo))
            r=mid;
        else
            l=mid+1;
    }
    jump=1;
    lo=l;

     while( yo-jump >= 1 and test(xo,yo-jump) )jump*=2;
    l=max(yo-jump,(ll)1);
    r=yo-jump/2;
    while(l<r)
    {
        ll mid=(l+r)/2;
        if(test(xo,mid))
            r=mid;
        else
            l=mid+1;
    }
    jump=1;
    uo=l;

    M=ro-lo+1;

    cx=lo+M/2;
    cy=uo+M/2;

    jump=1;
    //cout<<cx<<" "<<cy<<"\n";

    while( cx+ 2*M*jump <= N and test(cx+2*M*jump,cy) )
        jump++;
    cx=cx+2*M*(jump-1);
    jump=1;
    while( cy+ 2*M*jump <= N and test(cx,cy+2*M*jump) )
        jump++;
    cy=cy+2*M*(jump-1);
    cx-=2*M;
    cy-=2*M;

    printf("solution %lld %lld",cx,cy);
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 596 KB Output is correct
2 Incorrect 0 ms 600 KB Incorrect
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Incorrect 0 ms 344 KB Incorrect
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Incorrect 0 ms 344 KB Incorrect
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Incorrect 0 ms 344 KB Incorrect
3 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 Correct 0 ms 344 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Incorrect 1 ms 344 KB Incorrect
4 Halted 0 ms 0 KB -