CF1584G Eligible Segments
题目描述
给定 $n$ 个平面上的不同点 $p_1, p_2, \ldots, p_n$,以及一个正整数 $R$。
请你计算有多少对下标 $(i, j)$ 满足 $1 \le i < j \le n$,并且对于每一个可能的 $k$($1 \le k \le n$),点 $p_k$ 到点 $p_i$ 和 $p_j$ 之间线段的距离都不超过 $R$。
输入格式
第一行包含两个整数 $n$ 和 $R$($1 \le n \le 3000$,$1 \le R \le 10^5$),分别表示点的数量和点到线段的最大距离。
接下来的 $n$ 行,每行包含两个整数 $x_i$ 和 $y_i$($-10^5 \le x_i, y_i \le 10^5$),表示第 $i$ 个点 $p_i=(x_i, y_i)$。所有点均不相同。
保证如果参数 $R$ 改变不超过 $10^{-2}$,答案不会发生变化。
输出格式
输出满足条件的 $(i, j)$ 对数。
说明/提示
在第一个样例中,唯一满足条件的点对是 $(-3, 0)$ 和 $(3, 0)$。从点 $(0, 1)$ 和 $(0, -1)$ 到这两个点之间线段的距离都是 $1$,小于 $R=2$。
在第二个样例中,所有可能的点对都满足条件。
由 ChatGPT 4.1 翻译