CF2009D.Satyam and Counting
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Satyam 得到 n 个二维平面上的不同点。保证所有给定点 (xi,yi) 满足 0≤yi≤1。从中任选三个不同的点作为顶点,可以组成多少个不同的非退化直角三角形 ∗?
如果存在某个点 v,使得 v 是三角形 a 的顶点但不是三角形 b 的顶点,则称三角形 a 和 b 不同。
∗ 非退化直角三角形指面积大于零且有一个内角为 90∘ 的三角形。
输入格式
第一行包含一个整数 t(1≤t≤104),表示测试用例的数量。
每个测试用例的第一行包含一个整数 n(3≤n≤2⋅105),表示点的数量。
接下来的 n 行,每行包含两个整数 xi 和 yi(0≤xi≤n,0≤yi≤1),表示 Satyam 可以选择的第 i 个点。保证所有 (xi,yi) 两两不同。
保证所有测试用例中 n 的总和不超过 2⋅105。
输出格式
对于每个测试用例,输出一个整数,表示可以组成的不同非退化直角三角形的数量。
输入输出样例
输入#1
3 5 1 0 1 1 3 0 5 0 2 1 3 0 0 1 0 3 0 9 1 0 2 0 3 0 4 0 5 0 2 1 7 1 8 1 9 1
输出#1
4 0 8
说明/提示
对于第一个测试用例,四个三角形如下图所示:

由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?