CFCF2209C.Find the Zero

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

这是一个交互题。

给定一个整数 nn。存在一个长度为 2n2n 的隐藏数组 aa。从 11nn 的每个整数在 aa 中都恰好出现一次,其余元素均为 00

你可以进行如下类型的查询:

  • 选择两个整数 iijj1i,j2n1 \le i, j \le 2niji \ne j),裁判会回应 11,如果 ai=aja_i = a_j,否则回应 00

请在不超过 n+1n+1 次查询内,找到任意一个满足 ak=0a_k=0 的整数 kk1k2n1 \le k \le 2n)。注意交互方是自适应的,这意味着隐藏数组 aa 可能会根据你的查询动态变化,但不会违反之前的查询结果。

输入格式

每组测试数据包含多个测试用例。第一行包含测试用例数 tt1t1031 \le t \le 10^3)。接下来是各个测试用例的描述。

每个测试用例的第一行包含一个整数 nn2n1042 \le n \le 10^4)。隐藏数组 aa 的长度为 2n2n

保证所有测试用例中 nn 的总和不超过 10410^4

输出格式

(交互题,无需输出格式固定说明。)

输入输出样例

  • 输入#1

    2
    2
    
    0
    
    1
    
    3
    
    1
    
    0
    
    0

    输出#1

    ? 1 2
    
    ? 3 1
    
    ! 3
    
    ? 5 6
    
    ? 2 4
    
    ? 1 3
    
    ! 6

说明/提示

在第一个示例测试用例中,隐藏数组 aa[0,1,0,2][0,1,0,2]

  • 第一次查询,(i,j)=(1,2)(i, j) = (1,2)。由于 a1=0a_1=0a2=1a_2=1a1a2a_1 \ne a_2,裁判回应 00
  • 第二次查询,(i,j)=(3,1)(i, j) = (3,1)。由于 a3=0a_3=0a1=0a_1=0a3=a1a_3 = a_1,裁判回应 11
  • 程序报告 k=3k=3 作为答案。由于 a3=0a_3=0,答案正确。

在第二个示例测试用例中,隐藏数组 aa[3,2,0,1,0,0][3,2,0,1,0,0]

  • 第一次查询,(i,j)=(5,6)(i, j) = (5,6)。由于 a5=0a_5=0a6=0a_6=0a5=a6a_5 = a_6,裁判回应 11
  • 第二次查询,(i,j)=(2,4)(i, j) = (2,4)。由于 a2=2a_2=2a4=1a_4=1a2a4a_2 \ne a_4,裁判回应 00
  • 第三次查询,(i,j)=(1,3)(i, j) = (1,3)。由于 a1=3a_1=3a3=0a_3=0a1a3a_1 \ne a_3,裁判回应 00
  • 程序报告 k=6k=6 作为答案。由于 a6=0a_6=0,答案正确。
首页