CF2141G Good Robot Paths
题目描述
在笛卡尔平面上,有 $n$ 个位置被涂成黑色,其余所有点均为白色。每个黑色点的坐标都是整数。
此外,还有一个机器人,每次可以向 ‘U’(上)、‘D’(下)、‘L’(左)、‘R’(右)四个方向中的任意一个移动一个单位。
机器人从点 $p_1$ 到点 $p_2$ 的一条路径,是一串指令序列,使得机器人初始位于 $p_1$,执行该序列后最终到达 $p_2$。
从 $p_1$ 到 $p_2$ 的最短路径,是指令数量尽可能少的路径。
你需要统计有多少对点 $p_i$、$p_j$($i \ne j$),满足以下条件:
对于该点对,从 $p_i$ 到 $p_j$ 任意一条最短路径经过的所有整点坐标都被涂成了黑色。
输入格式
每组测试数据包含多组测试用例。第一行为测试用例数 $t$($1 \le t \le 10^4$)。接下来是各个测试用例描述。
每个测试用例的第一行包含一个整数 $n$($1 \le n \le 5 \cdot 10^{5}$),表示被涂成黑色的点的数量。
接下来的 $n$ 行,每行包含两个整数 $x_i, y_i$($-10^9 \le x_i, y_i \le 10^9$),表示点 $p_i$ 的坐标。所有点的坐标互不相同。
保证所有测试用例中的 $n$ 之和不超过 $5 \cdot 10^{5}$。
输出格式
对于每组测试用例,输出一个整数,表示满足条件的点对数量。
说明/提示
在第一个测试用例中,有 $16$ 个满足条件的点对:
- $p_1, p_2$
- $p_1, p_3$
- $p_1, p_4$
- $p_1, p_5$
- $p_2, p_1$
- $p_2, p_3$
- $p_2, p_4$
- $p_2, p_5$
- $p_3, p_1$
- $p_3, p_2$
- $p_3, p_4$
- $p_4, p_1$
- $p_4, p_2$
- $p_4, p_3$
- $p_5, p_1$
- $p_5, p_2$
由 ChatGPT 5 翻译