QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#72155 | #4926. Where Is the Root? | LXl491214 | 0 | 5ms | 3368kb | C++23 | 1.2kb | 2023-01-14 17:33:29 | 2023-01-14 17:33:31 |
Judging History
answer
#if IN_LOCAL
import local;
#endif // IN_LOCAL
#include<iostream>
#include<algorithm>
using namespace std;
char s[4];
struct Note
{
unsigned val, pos;
}note[505];
constexpr const char& s_0 = s[0];
constexpr const unsigned& pos_1 = note[1].pos, & pos_2 = note[2].pos, & pos_3 = note[3].pos;
constexpr Note* const noteP1 = note + 1;
inline constexpr bool NoteComparator(const Note a, const Note b)
{
return a.val < b.val;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
unsigned n;
cin >> n;
for (unsigned i = 1; i <= n; note[i].pos = i, ++i);
for (unsigned i = 1; i < n; ++i)
{
unsigned a, b;
cin >> a >> b;
++note[a].val;
++note[b].val;
}
sort(noteP1, noteP1 + n, NoteComparator);
unsigned l = 1, r = n;
while (l < r && r > 2)
{
const unsigned mid = (l + r) / 2;
cout << "? " << mid;
for (unsigned i = 1; i <= mid; cout << ' ' << note[i].pos, ++i);
cout << endl;
cin >> s;
if (s_0 == 'Y')
{
r = mid;
}
else
{
l = mid + 1;
}
}
if (l == 1 && r == 2)
{
cout << "? 2 " << pos_2 << ' ' << pos_3 << endl;
cin >> s;
cout << "! " << (s_0 == 'Y' ? pos_2 : pos_1);
}
else
{
cout << "! " << l;
}
cout << endl;
return 0;
}
详细
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 0
Wrong Answer
time: 2ms
memory: 3356kb
input:
7 4 1 1 2 4 3 3 5 3 6 4 7 NO NO
output:
? 4 2 5 6 7 ? 6 2 5 6 7 1 3 ! 7
result:
wrong output format Unexpected end of file - int32 expected
Subtask #2:
score: 0
Wrong Answer
Test #24:
score: 0
Wrong Answer
time: 3ms
memory: 3300kb
input:
30 1 15 29 30 1 4 7 28 29 17 1 26 26 7 12 5 27 13 3 7 27 1 21 15 9 22 22 5 24 27 19 1 25 30 22 27 6 15 16 13 18 2 27 10 27 30 20 26 8 15 18 8 14 1 27 23 11 3 YES YES NO YES YES
output:
? 15 2 28 25 24 23 21 20 19 17 16 14 12 11 10 9 ? 8 2 28 25 24 23 21 20 19 ? 4 2 28 25 24 ? 6 2 28 25 24 23 21 ? 5 2 28 25 24 23 ! 5
result:
wrong output format Unexpected end of file - int32 expected
Subtask #3:
score: 0
Wrong Answer
Test #54:
score: 0
Wrong Answer
time: 5ms
memory: 3368kb
input:
500 419 133 44 225 391 269 419 461 293 347 108 31 110 363 423 257 321 155 498 87 180 492 251 5 357 30 341 172 275 109 372 446 286 336 208 339 162 320 138 103 129 219 62 141 359 286 130 238 470 460 418 48 210 358 429 13 323 143 382 415 406 394 309 175 325 170 128 108 6 113 363 17 470 457 7 224 288 48...
output:
? 250 283 299 298 296 294 292 290 289 287 285 284 300 282 281 280 279 277 276 273 270 268 318 332 331 330 328 327 326 324 323 322 320 264 317 316 313 312 310 307 305 304 303 192 210 209 208 205 204 201 199 198 197 196 211 191 189 181 177 174 173 171 169 168 235 260 257 256 254 252 250 246 245 242 33...
result:
wrong output format Unexpected end of file - int32 expected