题目描述
给出
n 行
m 列的矩阵。将数字
0,1,…,n⋅m−1 在表中排列出来,并且每个数字只能使用一次。换句话说,需要你最大化:
i=1∑n mex({ai,1,ai,2…,ai,m})+j=1∑m({a1,j,a2,j,…,an,j})
我们定义
ai,j 表示矩阵的第
i 行第
j 列,请你求出所有行和列中可以达到的
Mex 的最大值。
注意:排除 (
Mex)的最小整数合集
c1,c2,…,ck 定义为最小的非负整数
x 不会出现在集合
c 中。
例如:
- mex(2,2,1)=0,因为 0 不在数组中。
- mex(3,1,0,1)=2,因为 0 和 1 都在数组中但是 2 不在。
- mex(0,3,1,2)=4,因为 0,1,2,和 3 都在数组中,但是 4 不在。
输入格式
第一行输入一个整数
t 表示测试的组数。接下来的
t 行每行输入两个整数
n 和
m 分别表示表的行数和列数。
输出格式
对于每一组数据,输出一个
mex 可能跨所有行和列的最大总和。
提示
在第一组样例中,唯一的元素是
0,并且第一行中
mex 的总和和第一列中
mex 的总和是
mex({0})+mex({0})=1+1=2。
在第二组样例中,最佳的表的可能如下图所示:
i=1∑nmex({ai,1,ai,2,…,ai,m})+j=1∑mmex({a1,j,a2,j,…,an,j})=mex({3,0})+mex({2,1}) +mex({3,2})+mex({0,1})=1+0+0+2=3 。
数据范围
对于所有数据保证
1≤t≤1000,
1≤n,m≤109。