CF2009D.Satyam and Counting

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Satyam 得到 nn 个二维平面上的不同点。保证所有给定点 (xi,yi)(x_i, y_i) 满足 0≤yi≤10 \leq y_i \leq 1。从中任选三个不同的点作为顶点,可以组成多少个不同的非退化直角三角形 ∗^{\ast}?

如果存在某个点 vv,使得 vv 是三角形 aa 的顶点但不是三角形 bb 的顶点,则称三角形 aa 和 bb 不同。

∗^{\ast} 非退化直角三角形指面积大于零且有一个内角为 90∘90^\circ 的三角形。

输入格式

第一行包含一个整数 tt(1≤t≤1041 \leq t \leq 10^4),表示测试用例的数量。

每个测试用例的第一行包含一个整数 nn(3≤n≤2⋅1053 \leq n \leq 2 \cdot 10^5),表示点的数量。

接下来的 nn 行,每行包含两个整数 xix_i 和 yiy_i(0≤xi≤n0 \leq x_i \leq n,0≤yi≤10 \leq y_i \leq 1),表示 Satyam 可以选择的第 ii 个点。保证所有 (xi,yi)(x_i, y_i) 两两不同。

保证所有测试用例中 nn 的总和不超过 2⋅1052 \cdot 10^5。

输出格式

对于每个测试用例,输出一个整数,表示可以组成的不同非退化直角三角形的数量。

输入输出样例

  • 输入#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测评打分。不知道怎么写?

首页