#P16360. [BalticOI 2026] Distances

    ID: 18433 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 显示难度提高 上传者: 标签>Special JudgeBalticOI(波罗的海)2026

[BalticOI 2026] Distances

题目描述

给定整数 nn 和 kk。你的目标是在 xyxy 平面上选取 nn 个不同的整点,使得在这些点中,恰好有 kk 对点之间的欧几里得距离为整数。回想一下,点 (x1,y1)(x_1, y_1) 与 (x2,y2)(x_2, y_2) 之间的欧几里得距离为

(x1−x2)2+(y1−y2)2.\sqrt{(x_1 - x_2)^2 + (y_1 - y_2)^2}.

可以证明,在本题的限制条件下,解总是存在的。

输入格式

仅有一行,包含两个整数 nn 和 kk。

输出格式

输出 nn 行,第 ii 行包含两个整数:第 ii 个点的 xx 坐标和 yy 坐标。每个坐标的绝对值不得超过 10910^9。

若存在多组解,输出其中任意一组即可。

3 2
1 1
1 2
2 2

提示

解释

(1,1)(1, 1) 与 (1,2)(1, 2) 之间的欧几里得距离为 11。(1,2)(1, 2) 与 (2,2)(2, 2) 之间的距离也为 11。然而,(1,1)(1, 1) 与 (2,2)(2, 2) 之间的距离为 2\sqrt 2,并非整数。

数据范围

  • 1≤n≤1001 \le n \le 100
  • 0≤k≤n(n−1)/20 \le k \le n(n - 1) / 2

子任务

子任务 约束条件 分值
1 n≤4n \le 4 1111
2 k=n(n−1)/2k = n(n-1)/2 44
3 k=0k = 0 66
4 k≤nk \le n 1919
5 k≤n(n−1)/8k \le n(n-1) / 8 2222
6 无额外限制 3838

翻译由 DeepSeek V4 Pro 完成