CF1968E.Cells Arrangement

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

给定一个整数 nn。你需要在 n×nn \times n 的网格中选择 nn 个格子 (x1,y1),(x2,y2),…,(xn,yn)(x_1,y_1), (x_2,y_2),\dots,(x_n,y_n),其中 1≤xi≤n1\le x_i\le n 且 1≤yi≤n1\le y_i\le n。

令 H\mathcal{H} 为任意两格之间的不同曼哈顿距离的集合。你的任务是最大化集合 H\mathcal{H} 的大小。相关构造的示例见题目说明。

如果存在多个解,你可以输出任意一个。

两个格子 (x1,y1)(x_1,y_1) 和 (x2,y2)(x_2,y_2) 之间的曼哈顿距离为 ∣x1−x2∣+∣y1−y2∣|x_1-x_2|+|y_1-y_2|。

输入格式

第一行包含一个整数 tt(1≤t≤501\le t\le 50),表示测试用例的数量。

接下来的 tt 行,每行包含一个整数 nn(2≤n≤1032\le n\le 10^3)。

输出格式

对于每个测试用例,输出 nn 个点的坐标,使得集合 H\mathcal{H} 的大小最大化。每个点一行,格式为 x yx\ y。

每个测试用例的答案之间不需要输出空行。

输入输出样例

  • 输入#1

    5
    2
    3
    4
    5
    6

    输出#1

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

说明/提示

在第一个测试用例中,n=2n=2。一种可能的方案如下:

格子位于 (1,1)(1,1) 和 (1,2)(1,2)。此时 H={∣1−1∣+∣1−1∣,∣1−1∣+∣2−2∣,∣1−1∣+∣1−2∣}={0,0,1}={0,1}\mathcal{H}=\{|1-1|+|1-1|,|1-1|+|2-2|,|1-1|+|1-2|\}=\{0,0,1\}=\{0,1\}。因此,H\mathcal{H} 的大小为 22。可以证明这是最大可能的答案。

在第二个测试用例中,n=3n=3。最优方案如下:

格子位于 (2,1)(2,1)、(2,3)(2,3) 和 (3,1)(3,1)。H={∣2−2∣+∣1−1∣,∣2−2∣+∣3−3∣,∣3−3∣+∣1−1∣,∣2−2∣+∣1−3∣,∣2−3∣+∣1−1∣,∣2−3∣+∣3−1∣}={0,0,0,2,1,3}={0,1,2,3}\mathcal{H} = \{|2-2|+|1-1|,|2-2|+|3-3|,|3-3|+|1-1|,|2-2|+|1-3|,|2-3|+|1-1|,|2-3|+|3-1|\} = \{0,0,0,2,1,3\} = \{0,1,2,3\}。

对于 n=4n=4,一种可能的方案如下:

对于 n=5n=5,一种可能的方案如下:

对于 n=6n=6,一种可能的方案如下:

由 ChatGPT 4.1 翻译

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

首页