UOJ Logo Universal Online Judge

UOJ

#249. 【Rujia Liu's Present 7】Guess the Fake Coin II

附件下载 统计

有 $n$ 个硬币,用 $1,\ldots,n$ 编号,其中一枚是假币。假币可能比真币要略重一点点或略轻一点点,并且真币的重量均相同。

你有一架天平,可以比较两堆硬币的轻重,由于假币只与真币有一点点重量差,你每次放在两侧的硬币数量必须相同。

你需要找出假币。

交互格式

本题是一道交互式试题,你的程序需要和交互程序通过标准输入输出进行交互。每次向标准输出打印了一行后,请立即刷新缓冲区

对于每个测试点,交互库首先给出整数 $T$ 表示数据组数。

对于每组测试数据:

交互库会先给出一个整数 $n$,表示硬币个数。

接下来你可以做若干次操作,每次输出一行操作:

  1. 输出 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$。
  2. 输出 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