# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
288216 | Kastanda | Aliens (IOI07_aliens) | C++11 | 2 ms | 368 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
// M
#include<bits/stdc++.h>
using namespace std;
int n, m, nwx, nwy;
int main()
{
scanf("%d%d%d", &n, &nwx, &nwy);
auto Query = [&](int a, int b){
if (a < 1 || a > n || b < 1 || b > n)
return false;
printf("examine %d %d\n", a, b);
fflush(stdout);
char ss[7];
scanf("%s", ss);
return (bool)(ss[0] == 't');
};
{
int lg = 0;
while (Query(nwx - (1 << lg), nwy))
lg ++;
int left_gap = 0;
for (int i = lg - 1; i >= 0; i --)
if (Query(nwx - left_gap - (1 << i), nwy))
left_gap |= 1 << i;
lg = 0;
while (Query(nwx + (1 << lg), nwy))
lg ++;
int right_gap = 0;
for (int i = lg - 1; i >= 0; i --)
if (Query(nwx + right_gap + (1 << i), nwy))
right_gap |= 1 << i;
m = right_gap + left_gap + 1;
nwx -= left_gap;
lg = 0;
while (Query(nwx, nwy - (1 << lg)))
lg ++;
int up_gap = 0;
for (int i = lg - 1; i >= 0; i --)
if (Query(nwx, nwy - up_gap - (1 << i)))
up_gap |= 1 << i;
nwy -= up_gap;
int cx = 0, cy = 0;
while (Query(nwx - m * (cx + 2), nwy))
cx += 2;
if (Query(nwx - m * cx - m, nwy - m))
cx ++, cy ++;
while (Query(nwx, nwy - m * (cy + 2)))
cy += 2;
nwx -= m * cx;
nwy -= m * cy;
nwx += m * 2 + m / 2;
nwy += m * 2 + m / 2;
printf("solution %d %d\n", nwx, nwy);
fflush(stdout);
}
}
Compilation message (stderr)
# | 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... |