#CF2096G. 奇妙的猜谜游戏

奇妙的猜谜游戏

交互流程从读取整数 nn 开始。 首先输出一个整数 qq1q201 \leq q \leq 20)—— 你要进行的询问次数。

每次询问按以下格式输出一行:

  • k a1 a2akk\ a_1\ a_2 \ldots a_k2kn2 \leq k \leq nkk 为偶数,1ain1 \leq a_i \leq n,所有 aia_i 互不相同)—— 数组长度与数组元素。

当你完成全部 qq 次询问后,读取一个字符串 sss=q|s| = q)—— 爱丽丝对每次询问的回应。

当你确定爱丽丝所想的数字后,输出一个整数 xx1xn1 \leq x \leq n)—— 目标数字。 随后处理下一个测试用例,若无剩余测试用例则结束程序。

输出全部 qq 次询问后,务必输出换行并刷新输出缓冲区,否则会出现超时错误。对应语言的刷新方式:

  • C++:使用 fflush(stdout) 或 cout.flush()
  • Java:使用 System.out.flush()
  • Pascal:使用 flush(output)
  • Python:使用 stdout.flush()
  • 其他语言请查阅对应文档

注意:即使你正确猜出了数字,但询问次数超过了 f(n)f(n),也会被判为答案错误。

本题禁止使用作弊代码。

2
3



?N

5




R?L



2
2 1 2
2 1 2

3

3
4 3 2 4 1
4 5 4 3 1
4 1 5 3 4

1

Hint 第一个样例:n=3n = 3。我们进行 2 次询问:[1,2][1, 2] 和再次询问 [1,2][1, 2]

  • 第一次询问,爱丽丝回应 ?\texttt{?},表示该次询问被忽略;
  • 第二次询问,爱丽丝回应 N\texttt{N},表示目标数不在数组 [1,2][1, 2] 中。 根据以上信息可以确定,爱丽丝所想的数字是 33。 可以证明,n=3n=3 时所有合法策略都至少需要 2 次询问。

第二个样例:n=5n = 5。我们进行 3 次询问:[3,2,4,1][3, 2, 4, 1][5,4,3,1][5, 4, 3, 1][1,5,3,4][1, 5, 3, 4]

  • 第一次询问,爱丽丝回应 R\texttt{R},表示目标数在数组 [4,1][4, 1] 中;
  • 第二次询问,爱丽丝回应 ?\texttt{?},表示该次询问被忽略;
  • 第三次询问,爱丽丝回应 L\texttt{L},表示目标数在数组 [1,5][1, 5] 中。 根据以上信息可以确定,爱丽丝所想的数字是 11。 可以证明,n=5n=5 时所有合法策略都至少需要 3 次询问。