CF2155D.Batteries

普及+/提高

通过率:0%

AC君温馨提醒

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

题目描述

这是一个交互式问题。为便于理解,请参见下方的交互说明。

有 nn 节电池,编号为 1,2,…,n1, 2, \ldots, n。其中有一些电池是工作的,另外一些不工作。设 aa 为工作的电池的数量。已知 a≥2\mathbf{a \geq 2}。

你知道 nn 的值,但不知道 aa。

有一个手电筒,能同时装入两节电池,且只有当两节电池都工作时手电筒才会亮。这些电池已经被打乱,你不知道哪些电池是工作的,哪些是不工作的。你可以选择任意两节电池,并放入手电筒进行测试。

你的目标是找到一对都工作的电池。然而,你担心损坏手电筒,所以你希望尽量减少测试的次数。

因此,你需要在最多 $ \left \lfloor \frac{n^2}{a} \right \rfloor $ 次尝试内,找到一对都工作的电池。

评测器是自适应的。这意味着电池 ii(1≤i≤n1 \le i \le n)是否工作不是预先确定的,并且可能会在交互过程中发生变化。但保证始终存在一种含有 aa 节工作的电池的分布方式,和你至今得到的信息相一致。

输入格式

每个测试包含多组测试用例。第一行为测试用例的数量 tt(1≤t≤501 \le t \le 50)。每个测试用例的描述如下。

每个测试用例第一行为一个整数 nn(2≤n≤402 \le n \le 40)——电池的数量。

保证所有测试用例中 nn 的总和不超过 200200。

输出格式

null

输入输出样例

  • 输入#1

    2
    3
    
    0
    
    1
    10
    
    0
    
    0
    
    1

    输出#1

    1 2
    
    2 3
    
    
    1 2
    
    1 3
    
    1 4

说明/提示

在第一个测试中,有 33 节电池。只有第 22 和第 33 节电池是工作的。因此 a=2a=2,我们需要在 ⌊322⌋=4\lfloor \frac{3^2}{2} \rfloor = 4 次测试中找到一对都工作的电池。

交互过程如下:

参与者 评测器 解释
— 33 这组数据有 33 节电池
1,21,2 00 你询问第 11 与第 22 节电池能否点亮手电筒。评测器回答不能。
2,32,3 11 你询问第 22 与第 33 节电池能否点亮手电筒。评测器回答可以。这样就找到了两个都工作的电池,本组用例交互结束。

在第二组测试用例中,有 1010 节电池。只有第 11、44、66、99 节电池是工作的。因此 a=4a=4,需要在 ⌊1024⌋=25\lfloor \frac{10^2}{4} \rfloor = 25 次测试中找到一对都工作的电池。

交互过程如下:

参与者 评测器 解释
— 1010 这组数据有 1010 节电池。
1,21,2 00 你询问第 11 和第 22 节电池能否点亮手电筒。评测器回答不能。
1,31,3 00 你询问第 11 和第 33 节电池能否点亮手电筒。评测器回答不能。
1,41,4 11 你询问第 11 和第 44 节电池能否点亮手电筒。评测器回答可以。这样就找到了两个都工作的电池,本组用例交互结束。

请注意,样例输入输出中的换行仅为清晰展示,实际交互过程中不会出现。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页