#ABC234Ex. 枚举数对

枚举数对

枚举数对

题目描述

给定 NN 对整数 (xi,yi)(x_i,y_i)(编号为 11NN)和一个整数 KK

按输出格式中指定的方式列出所有满足以下条件的整数对 (p,q)(p,q)

1p<qN1 \le p \lt q \le N

(xpxq)2+(ypyq)2K\sqrt{(x_p-x_q)^2+(y_p-y_q)^2} \le K

这里,保证满足条件的整数对至多有 4×1054 \times 10^5 对。

输入格式

输入按以下格式从标准输入给出:

NN KK
x1x_1 y1y_1
x2x_2 y2y_2
\vdots
xNx_N yNy_N

输出格式

按以下格式输出答案。

MM
p1p_1 q1q_1
p2p_2 q2q_2
\vdots
pMp_M qMq_M

第一行输出整数 MM,表示要列出的整数对数量。

接下来的 MM 行按字典序每行输出一对要列出的整数对 (pi,qi)(p_i,q_i),两个数之间用一个空格分隔。

这里,整数对 (a,b)(a,b) 排在整数对 (c,d)(c,d) 之前,当且仅当以下条件之一成立。

a<ca \lt c

a=ca = cb<db \lt d

样例

6 5
2 0
2 2
3 4
0 0
5 5
8 3
9
1 2
1 3
1 4
2 3
2 4
2 5
3 4
3 5
5 6

99 对满足条件的整数对,应按指定格式输出。

$(1,2),(1,3),(1,4),(2,3),(2,4),(2,5),(3,4),(3,5),(5,6)$

2 1414213562
0 0
1000000000 1000000000
0

满足条件的整数对可能为 00 对。

10 150
300 300
300 400
300 500
400 300
400 400
400 400
400 500
500 300
500 400
500 500
29
1 2
1 4
1 5
1 6
2 3
2 4
2 5
2 6
2 7
3 5
3 6
3 7
4 5
4 6
4 8
4 9
5 6
5 7
5 8
5 9
5 10
6 7
6 8
6 9
6 10
7 9
7 10
8 9
9 10

可能存在 xi=xjx_i=x_jyi=yjy_i=y_j 的整数对 (i,j)(i,j)(其中 i<ji \lt j)。

数据范围

  • 输入中的所有值均为整数。
  • 1N2×1051 \le N \le 2 \times 10^5
  • 1K1.5×1091 \le K \le 1.5 \times 10^9
  • 0xi,yi1090 \le x_i,y_i \le 10^9
  • 需要列出的整数对至多有 4×1054 \times 10^5 对。
难度 NOI/NOI+/CTS
通过率
尝试 0
已通过 0
ID
2365
类型
传统题
Time Limit
647ms
Memory Limit
1024MiB
上传者
标签