QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#393356 | #8239. Mysterious Tree | ucup-team3282# | WA | 1ms | 3756kb | C++14 | 2.0kb | 2024-04-18 15:34:42 | 2024-04-18 15:34:43 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
int main() {
//freopen("J.in", "r", stdin);
int T; cin >> T;
while (T--) {
int n, cc = 0;
cin >> n;
set<int> v;
for (int i = 1; i <= n / 2; i++) {
printf("? %d %d\n", (i - 1) * 2 + 1, i * 2);
int c;
cin >> c;
if (c == 1) {
v.insert(i * 2);
v.insert(i * 2 - 1);
cc++;
}
}
if (n % 2 == 1) {
printf("? %d %d\n", n - 1, n);
int c;
cin >> c;
if (c == 1) {
v.insert(n - 1);
v.insert(n);
cc++;
}
}
if (cc == 0) {
printf("! 1\n");
fflush(stdout);
continue;
}
if (n % 2 == 1) {
if (v.find(n - 2) != v.end() && v.find(n) != v.end()) {
printf("? 1 %d\n", n - 1);
int c;
cin >> c;
if (c == 1) {
printf("! 2\n");
fflush(stdout);
continue;
}
else {
printf("! 2\n");
fflush(stdout);
continue;
}
}
}
if (cc > 1) {
printf("! 1\n");
fflush(stdout);
continue;
}
int a = -1, b = -1, e, f, g, h, j;
for (auto it = v.begin(); it != v.end(); it++) {
if (a == -1) a = *it;
else b = *it;
}
if (a == 1) e = n;
else e = a - 1;
if (b == n) f = 1;
else f = b + 1;
printf("? %d %d\n", a, e);
cin >> g;
printf("? %d %d\n", b, e);
cin >> h;
if (g == 1 && h == 1) {
printf("! 1\n");
fflush(stdout);
continue;
}
if (g == 1) {
printf("? %d %d\n", a, f);
cin >> j;
if (j == 1) {
printf("! 2\n");
fflush(stdout);
continue;
} else {
printf("! 1\n");
fflush(stdout);
continue;
}
}
if (h == 1) {
printf("? %d %d\n", b, f);
cin >> j;
if (j == 1) {
printf("! 2\n");
fflush(stdout);
continue;
} else {
printf("! 1\n");
fflush(stdout);
continue;
}
}
if (g == 0 && h == 0) {
printf("! 1\n");
fflush(stdout);
continue;
}
}
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 1ms
memory: 3756kb
input:
2 4 1 1 4 0 1 1 0 1
output:
? 1 2 ? 3 4 ! 1 ? 1 2 ? 3 4 ? 3 2 ? 4 2 ? 3 1 ! 2
result:
ok Correct (2 test cases)
Test #2:
score: -100
Wrong Answer
time: 0ms
memory: 3752kb
input:
87 13 0 0 0 0 0 1 1 1 15 0 0 0 0 0 0 1 0 1 0 1 7 0 0 0 1 0 1 1 15 0 0 0 1 1 0 0 0 19 0 0 0 0 0 1 0 0 0 0 1 0 1 20 0 0 0 0 0 0 0 0 0 0 7 0 0 1 1 1 20 0 0 0 0 0 0 0 1 0 0 1 0 1 17 0 0 0 0 0 0 0 0 0 11 1 1 0 0 0 1 14 0 0 0 0 0 0 0 13 0 0 0 0 0 0 0 18 0 0 0 0 0 1 0 0 0 0 1 1 14 0 1 0 0 0 0 0 0 1 1 20 0 ...
output:
? 1 2 ? 3 4 ? 5 6 ? 7 8 ? 9 10 ? 11 12 ? 12 13 ? 1 12 ! 2 ? 1 2 ? 3 4 ? 5 6 ? 7 8 ? 9 10 ? 11 12 ? 13 14 ? 14 15 ? 13 12 ? 14 12 ? 13 15 ! 2 ? 1 2 ? 3 4 ? 5 6 ? 6 7 ? 6 5 ? 7 5 ? 7 1 ! 2 ? 1 2 ? 3 4 ? 5 6 ? 7 8 ? 9 10 ? 11 12 ? 13 14 ? 14 15 ! 1 ? 1 2 ? 3 4 ? 5 6 ? 7 8 ? 9 10 ? 11 12 ? 13 14 ? 15 16...
result:
wrong answer Wrong prediction (test case 70)