CF1598D Training Session
题目描述
Monocarp 是 Berland State University 编程队的教练。他决定为他的队伍准备一次训练赛题集。
Monocarp 有 $n$ 道题目,这些题目他的学生们都还没有见过。第 $i$ 道题有一个主题 $a_i$(是 $1$ 到 $n$ 之间的整数)和一个难度 $b_i$(是 $1$ 到 $n$ 之间的整数)。所有题目都是不同的,即不存在两道题目同时拥有相同的主题和难度。
Monocarp 决定从这 $n$ 道题目中恰好选出 $3$ 道题组成题集。选出的题目需要满足以下两个条件中的至少一个(也可以同时满足):
- 这三道题的主题各不相同;
- 这三道题的难度各不相同。
你的任务是计算有多少种方式可以选出满足要求的三道题。
输入格式
第一行包含一个整数 $t$($1 \le t \le 50000$),表示测试用例的数量。
每个测试用例的第一行包含一个整数 $n$($3 \le n \le 2 \cdot 10^5$),表示 Monocarp 拥有的题目数量。
接下来的 $n$ 行中,第 $i$ 行包含两个整数 $a_i$ 和 $b_i$($1 \le a_i, b_i \le n$),分别表示第 $i$ 道题的主题和难度。
保证不存在两道题目同时拥有相同的主题和难度。
所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$。
输出格式
输出满足题意的三道训练题的选法数量。
说明/提示
在第一个样例中,可以选择以下三道题的组合:
- 题目 $1$、$2$、$4$;
- 题目 $1$、$3$、$4$;
- 题目 $2$、$3$、$4$。
因此,方案数为 $3$。
由 ChatGPT 4.1 翻译