Bipartite Graph

Accepts: 93
Submissions: 838
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 65536/65536 K (Java/Others)
问题描述
Soda有一个$n$个点$m$条边的二分图, 他想要通过加边使得这张图变成一个边数最多的完全二分图. 于是他想要知道他最多能够新加多少条边. 注意重边是不允许的.
输入描述
输入有多组数据. 第一行有一个整数$T$ $(1 \le T \le 100)$, 表示测试数据组数. 然后对于每组数据:

第一行报包含两个整数$n$和$m$, $(2 \le n \le 10000, 0 \le m \le 100000)$.

接下来$m$行, 每行两个整数$u$和$v$$ (1 \le u, v \le n, v \ne u)$, 表示$u$和$v$之间有一条无向边.

输入保证给出的图是二分图, 没有重边, 没有自环. 大部分数据都是小数据.
输出描述
对于每组数据, 输出Soda最多能加的边数.
输入样例
2
4 2
1 2
2 3
4 4
1 2
1 4
2 3
3 4
输出样例
2
0