#AT2036. Ex - Enumerate Pairs
Ex - Enumerate Pairs
当前没有测试数据。
枚举配对数
得分:$600$ 分
问题描述
给定 $N$ 对整数 $(x_i,y_i)$,编号从 $1$ 到 $N$,以及一个整数 $K$。
按照要求的格式,列出所有满足以下条件的整数对 $(p,q)$。
- $1 \le p < q \le N$
- $\sqrt{(x_p-x_q)^2+(y_p-y_q)^2} \le K$
在这里,可以保证整数对的数量最多为 $4 \times 10^5$。
约束条件
- 输入中的所有值都是整数。
- $1 \le N \le 2 \times 10^5$
- $1 \le K \le 1.5 \times 10^9$
- $0 \le x_i,y_i \le 10^9$
- 应列出的整数对的最多数量为 $4 \times 10^5$。
输入
输入以以下格式从标准输入给出:
输出
按照以下格式输出答案。
``` $M$ $p_1$ $q_1$ $p_2$ $q_2$ $\vdots$ $p_M$ $q_M$ ```第一行应包含一个整数 $M$,表示要列出的整数对的数量。
接下来的 $M$ 行应按照字典序列出整数对 $(p_i,q_i)$,每行一个,用一个空格分隔。
在这里,整数对 $(a,b)$ 在整数对 $(c,d)$ 之前,当且仅当满足以下条件之一。
- $a<c$。
- $a=c$ 且 $b<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
有 $9$ 对满足条件的整数对符合要求,应按照要求的格式输出。
$(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
可能没有满足条件的整数对。
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
可能一些整数对 $(i,j)$ ($i < j$) 满足 $x_i=x_j$ 且 $y_i=y_j$。