luogu#P16360. [BalticOI 2026] Distances

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

[BalticOI 2026] Distances

题目描述

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

(x1x2)2+(y1y2)2.\sqrt{(x_1 - x_2)^2 + (y_1 - y_2)^2}.

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

输入格式

仅有一行,包含两个整数 nnkk

输出格式

输出 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,并非整数。

数据范围

  • 1n1001 \le n \le 100
  • 0kn(n1)/20 \le k \le n(n - 1) / 2

子任务

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

翻译由 DeepSeek V4 Pro 完成