#P8849. 『JROI-7』hibernal
『JROI-7』hibernal
Description
有 个苹果,第 个编号为 ,其中有恰好 个是金苹果。
每次询问可以把 个苹果分为两个集合 ,要求每个苹果恰好被分到一个集合中。
设 为 中金苹果的个数, 为 中金苹果的个数,交互库会返回 的值。
请在不超过 次询问内求出两个金苹果的编号。
交互库自适应,即两个金苹果的编号可能会随着询问而改变,但是始终满足所有已经发生过的询问(见样例)。
Input Format
本题多测,第一行一个正整数 ,表示数据组数,接下来 行每行一个正整数 ,表示本组数据里数的个数。
本题采用 IO 交互模式。
交互格式
? k a1 a2 a3 ... ak将这 个苹果放入一个集合,其他 个苹果放入另一个集合,交互库会返回一个整数 表示答案。请务必保证 。! x y输出答案。请务必保证 。
请注意:在每组数据中,请保证第一种操作的次数总和不超过 。
需要注意的是,在每一次操作后,需要调用以下函数刷新缓存:
- 对于 C/C++:
fflush(stdout); - 对于 C++:
std::cout << std::flush; - 对于 Java:
System.out.flush(); - 对于 Python:
stdout.flush(); - 对于 Pascal:
flush(output);
对于其他语言,请自行查阅对应语言的帮助文档。
Output Format
见「交互格式」。
1
5
1
0
? 3 1 2 3
? 2 2 4
! 1 5
Hint
样例仅供理解交互过程,可能不符合逻辑。
【样例解释】
初始的两个金苹果为 。
第一次询问,两个集合各有 个金苹果,返回 ,金苹果的编号不发生改变。
第二次询问,一个集合有 个金苹果,另一个集合没有,返回 。接下来两个金苹果从 变成了 ,容易发现,虽然金苹果的编号发生了变化,前两个询问的答案仍然是符合的。
回答 ,答案正确,交互结束。
数据范围
| 分数 | ||
|---|---|---|
计分方式
对于每组测试数据,取 组测试中进行询问次数最大的一组,若超过 次,计 分,否则计满分。
保证正常情况下交互库用时不超过 0.1s。
如果您的输出不合法,将会出现 TLE/WA 等情况。
京公网安备 11011102002149号