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 完成