CF1173B.Nauuo and Chess

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Nauuo and Chess

题目描述

Nauuo 是一个喜欢下棋的女孩。

有一天,她自己发明了一种游戏,需要用 nn 个棋子在一个 m×mm\times m 的棋盘上进行。棋盘的行和列编号均从 11mm。我们用 (r,c)(r, c) 表示第 rr 行第 cc 列的格子。

游戏的目标是将编号为 11nnnn 个棋子放在棋盘上,第 ii 个棋子放在 (ri,ci)(r_i, c_i),同时满足以下规则:对于所有棋子对 iijj,都有 rirj+cicjij|r_i - r_j| + |c_i - c_j| \ge |i - j|。其中 x|x| 表示 xx 的绝对值。

然而,Nauuo 发现有时候棋盘太小,她无法找到满足条件的方案。

她想知道,最小需要多大的棋盘,才能按照规则放下 nn 个棋子。

她还想知道,在这样最小的棋盘上,应该如何放置这些棋子。你能帮帮她吗?

输入格式

一行一个整数 nn1n10001 \le n \le 1000),表示游戏所需的棋子数量。

输出格式

第一行输出一个整数,表示最小的 mm,即满足条件的棋盘边长。

接下来 nn 行,每行两个整数 rir_icic_i1ri,cim1 \le r_i, c_i \le m),表示第 ii 个棋子的坐标。

如果有多组答案,输出任意一组均可。

说明/提示

在第一个样例中,你无法在 1×11\times1 的棋盘上放下两个棋子而不违反规则。但你可以在 2×22\times2 的棋盘上这样放置两个棋子:

在第二个样例中,你无法在 2×22\times2 的棋盘上放下四个棋子而不违反规则。例如,如果你这样放置棋子:

那么 r1r3+c1c3=12+11=1|r_1 - r_3| + |c_1 - c_3| = |1-2| + |1-1| = 113=2|1-3| = 21<21 < 2;并且 r1r4+c1c4=12+12=2|r_1 - r_4| + |c_1 - c_4| = |1-2| + |1-2| = 214=3|1-4| = 32<32 < 3。这不满足规则。

然而,在 3×33\times3 的棋盘上,你可以这样放置四个棋子:

由 ChatGPT 4.1 翻译

样例

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

在线编程 IDE

建议全屏模式获得最佳体验