题目链接:https://codeforces.com/problemset/problem/1598/D
描述:
Monocarp 是 Berland 州立大学编程团队的教练。 他决定为他的团队的培训课程编写一个问题集。
Monocarp 有 n 个他的学生还没有遇到过的问题。 第 i 个问题有一个主题 ai(从 1 到 n 的整数)和一个难度 bi(从 1 到 n 的整数)。 所有的问题都是不同的,也就是说,没有两个任务同时具有相同的主题和难度。
Monocarp 决定从 n 个问题中准确选择 3 个问题作为问题集。 问题应至少满足以下两个条件之一(可能同时满足两者):
- 所有三个选定问题的主题都不同;
- 所有三个选定的问题的难度都是不同的。
你的任务是确定为问题集选择三个问题的方法的数量。
输入:
第一行包含一个整数 t (1≤t≤50000) — 测试用例的数量。
每个测试用例的第一行包含一个整数 n (3≤n≤2?10^5) — Monocarp 的问题数。
在以下 n 行的第 i 行中,有两个整数 ai 和 bi (1≤ai,bi≤n)——第 i 个问题的主题和难度。
保证不存在同时具有相同主题和难度的两个问题。
所有测试用例的 n 总和不超过 2?10^5。
输出:
打印选择满足语句中描述的任一要求的三个训练问题的方法数。
样例输入:
2
4
2 4
3 4
2 1
1 3
5
1 5
2 4
3 3
4 2
5 1
样例输出:
3
10
笔记
在第一个示例中,您可以采取以下三个问题的集合:
问题 1、2、4;
问题1、3、4;
问题 2、3、4。
因此,路数等于三。