P16360 [BalticOI 2026] Distances

题目描述

给定整数 $n$ 和 $k$。你的目标是在 $xy$ 平面上选取 $n$ 个不同的整点,使得在这些点中,恰好有 $k$ 对点之间的欧几里得距离为整数。回想一下,点 $(x_1, y_1)$ 与 $(x_2, y_2)$ 之间的欧几里得距离为 $$\sqrt{(x_1 - x_2)^2 + (y_1 - y_2)^2}.$$ 可以证明,在本题的限制条件下,解总是存在的。

输入格式

仅有一行,包含两个整数 $n$ 和 $k$。

输出格式

输出 $n$ 行,第 $i$ 行包含两个整数:第 $i$ 个点的 $x$ 坐标和 $y$ 坐标。每个坐标的绝对值不得超过 $10^9$。 若存在多组解,输出其中任意一组即可。

说明/提示

### 解释 $(1, 1)$ 与 $(1, 2)$ 之间的欧几里得距离为 $1$。$(1, 2)$ 与 $(2, 2)$ 之间的距离也为 $1$。然而,$(1, 1)$ 与 $(2, 2)$ 之间的距离为 $\sqrt 2$,并非整数。 ### 数据范围 - $1 \le n \le 100$ - $0 \le k \le n(n - 1) / 2$ ### 子任务 | 子任务 | 约束条件 | 分值 | | :---: | --- | :---: | | 1 | $n \le 4$ | $11$ | | 2 | $k = n(n-1)/2$ | $4$ | | 3 | $k = 0$ | $6$ | | 4 | $k \le n$ | $19$ | | 5 | $k \le n(n-1) / 8$ | $22$ | | 6 | 无额外限制 | $38$ | 翻译由 DeepSeek V4 Pro 完成