有 $n$ 个硬币,用 $1,\ldots,n$ 编号,其中一枚是假币。假币可能比真币要略重一点点或略轻一点点,并且真币的重量均相同。
你有一架天平,可以比较两堆硬币的轻重,由于假币只与真币有一点点重量差,你每次放在两侧的硬币数量必须相同。
你需要找出假币。
交互格式
本题是一道交互式试题,你的程序需要和交互程序通过标准输入输出进行交互。每次向标准输出打印了一行后,请立即刷新缓冲区。
对于每个测试点,交互库首先给出整数 $T$ 表示数据组数。
对于每组测试数据:
交互库会先给出一个整数 $n$,表示硬币个数。
接下来你可以做若干次操作,每次输出一行操作:
- 输出
Test L1 L2 ... Lk R1 R2 ... Rk
表示将硬币 $L_1,L_2,\ldots,L_k$ 放在左盘,$R_1,R_2,\ldots,R_k$ 放在右盘,进行一次测量。- 交互库会返回一个在 $-1$ 到 $1$ 之间的整数,若左盘重返回 $1$,若右盘重返回 $-1$,若一样重返回 $0$。
- 输出
Answer b r
,表示你的程序认为假币是 $b$ 号硬币。$r = 1$ 表示假币比其他硬币要重,$r = -1$ 表示假币比其他硬币轻。- 交互库不会返回任何信息,并将开始进行下一组数据的评测或结束评测。
对于每组测试数据,你至多只能使用 $5$ 次 Test
命令。
样例一
交互程序输出 | 选手程序输出 |
---|---|
1 9 | |
Test 1 2 3 4 5 6 | |
-1 | |
Test 4 5 | |
0 | |
Answer 6 |
限制与约定
本题只有一个测试点,满足 $T\leq 150000,3\leq n\leq 120$。
时间限制:$1\texttt{s}$
空间限制:$256\texttt{MB}$
来源
Uva Online Judge,经典问题,作者刘汝佳。
特别鸣谢:Md. Mahbubul Hasan