CFCF2159A.MAD Interactive Problem
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
这是一个交互题。
有一个秘密序列 a1,a2,…,a2n−1,a2n,其中每个 1 到 n 的整数恰好出现两次。
你的任务是通过如下类型的询问来猜测这个序列:
- "? kj1j2…jk" —— 你可以选择一个整数 k(1≤k≤2n)以及 k 个互不相同的下标 j1,j2,…,jk(1≤j1,j2,…,jk≤2n)。对于你的询问,裁判会返回 MAD([aj1,aj2,…,ajk])。
我们定义一个整数序列的 MAD(最大重复出现数)为在序列中至少出现两次的最大整数。如果没有任何数至少出现两次,则 MAD 的值为 0。以下是一些示例:
- MAD([1,2,1])=1;
- MAD([2,2,3,3])=3;
- MAD([1,2,3,4])=0。
请使用不超过 3n 次询问来确定这个秘密序列。
输入格式
每组测试数据包含多组测试用例。第一行为测试用例数 t(1≤t≤3000)。接下来描述每个测试用例。
每个测试用例的第一行包含一个整数 n(2≤n≤300)。
保证所有测试用例的 n2 之和不超过 105。
在你读入这行输入后,交互将在你第一次询问时开始。
输出格式
(本题为交互题,无传统输出格式。要按照交互协议进行答题。)
输入输出样例
输入#1
2 2 2 0 1 2 0 1 1
输出#1
? 2 2 1 ? 2 1 3 ? 3 1 3 4 ! 2 2 1 1 ? 2 1 2 ? 2 1 3 ? 3 1 3 4 ! 1 2 1 2
说明/提示
在第一个测试用例中,隐藏的序列为 a=[2,2,1,1]。
对于询问 "? 2 2 1" ,裁判返回 2,因为 MAD([a2,a1])=MAD([2,2])=2。
对于询问 "? 2 1 3",裁判返回 0,因为 MAD([a1,a3])=MAD([2,1])=0。
对于询问 "? 3 1 3 4",裁判返回 1,因为 MAD([a1,a3,a4])=MAD([2,1,1])=1。
请注意,样例交互仅用于理解题意,并不保证能唯一确定序列 a。