CF2159A MAD Interactive Problem
题目描述
这是一个交互题。
有一个秘密序列 $a_1, a_2, \ldots, a_{2n-1}, a_{2n}$,其中每个 $1$ 到 $n$ 的整数恰好出现两次。
你的任务是通过如下类型的询问来猜测这个序列:
- "? $k\;j_1\;j_2\;\ldots\;j_k$" —— 你可以选择一个整数 $k$($1 \leq k \leq 2n$)以及 $k$ 个互不相同的下标 $j_1, j_2, \ldots, j_k$($1 \leq j_1, j_2, \ldots, j_k \leq 2n$)。对于你的询问,裁判会返回 $\operatorname{MAD}([a_{j_1}, a_{j_2}, \ldots, a_{j_k}])$。
我们定义一个整数序列的 $\operatorname{MAD}$(最大重复出现数)为在序列中至少出现两次的最大整数。如果没有任何数至少出现两次,则 $\operatorname{MAD}$ 的值为 $0$。以下是一些示例:
- $\operatorname{MAD}([1, 2, 1]) = 1$;
- $\operatorname{MAD}([2, 2, 3, 3]) = 3$;
- $\operatorname{MAD}([1, 2, 3, 4]) = 0$。
请使用不超过 $3n$ 次询问来确定这个秘密序列。
输入格式
每组测试数据包含多组测试用例。第一行为测试用例数 $t$($1 \leq t \leq 3000$)。接下来描述每个测试用例。
每个测试用例的第一行包含一个整数 $n$($2 \leq n \leq 300$)。
保证所有测试用例的 $n^2$ 之和不超过 $10^5$。
在你读入这行输入后,交互将在你第一次询问时开始。
输出格式
(本题为交互题,无传统输出格式。要按照交互协议进行答题。)
说明/提示
在第一个测试用例中,隐藏的序列为 $a=[2,2,1,1]$。
对于询问 "? 2 2 1" ,裁判返回 $2$,因为 $\operatorname{MAD}([a_2, a_1]) = \operatorname{MAD}([2, 2]) = 2$。
对于询问 "? 2 1 3",裁判返回 $0$,因为 $\operatorname{MAD}([a_1, a_3]) = \operatorname{MAD}([2, 1]) = 0$。
对于询问 "? 3 1 3 4",裁判返回 $1$,因为 $\operatorname{MAD}([a_1, a_3, a_4]) = \operatorname{MAD}([2, 1, 1]) = 1$。
请注意,样例交互仅用于理解题意,并不保证能唯一确定序列 $a$。
由 ChatGPT 5 翻译