CF2057A MEX Table
题目描述
某天,顽皮的学生马克在课堂上捣乱,于是老师萨沙让他上黑板。萨沙给了马克一个 $n$ 行 $m$ 列的表格,要他在表格中填写数字 $0, 1, \ldots, n \cdot m - 1$。每个数字必须使用且仅使用一次,并要求这些数字的排列方式使得每行和每列的 MEX(最小未出现非负整数)之和最大化。具体来说,他需要使 $\sum\limits_{i = 1}^{n} \operatorname{mex}(\{a_{i,1}, a_{i,2}, \ldots, a_{i,m}\}) + \sum\limits_{j = 1}^{m} \operatorname{mex}(\{a_{1,j}, a_{2,j}, \ldots, a_{n,j}\})$ 最大,其中 $a_{i,j}$ 表示第 $i$ 行第 $j$ 列的数字。老师萨沙只关心最终的结果,因此他要求马克只需要告诉他在最佳填法下行和列 MEX 之和的最大值。
**注释**:MEX(最小未出现非负整数)定义为在给定的整数集合中未出现的最小非负整数。例如:
- 对于集合 $\{2,2,1\}$,$\operatorname{mex} = 0$,因为数字 $0$ 没有出现在集合中。
- 对于集合 $\{3,1,0,1\}$,$\operatorname{mex} = 2$,因为数字 $0$ 和 $1$ 出现在集合中,而 $2$ 没有。
- 对于集合 $\{0,3,1,2\}$,$\operatorname{mex} = 4$,因为数字 $0, 1, 2, 3$ 都出现在集合中,而 $4$ 没有。
输入格式
输入包含多个测试用例。第一行输入一个整数 $t$($1 \le t \le 1000$),表示测试用例的数量。接下来的每个测试用例由两部分组成:
- 一行包含两个整数 $n$ 和 $m$($1 \le n, m \le 10^9$),分别表示表格的行数和列数。
输出格式
对于每个测试用例,输出一个整数,表示在所有可能的排列方式中,行和列的 MEX 之和的最大值。
说明/提示
- 在第一个测试用例中,由于表格中唯一的数字是 $0$,因此第一行和第一列的 MEX 之和为 $\operatorname{mex}(\{0\}) + \operatorname{mex}(\{0\}) = 1 + 1 = 2$。
- 在第二个测试用例中,可以将表格填充为如下:
$$
\begin{array}{cc}
3 & 0 \\
2 & 1 \\
\end{array}
$$
这样计算可得 $\sum\limits_{i = 1}^{n} \operatorname{mex}(\{a_{i,1}, a_{i,2}, \ldots, a_{i,m}\}) + \sum\limits_{j = 1}^{m} \operatorname{mex}(\{a_{1,j}, a_{2,j}, \ldots, a_{n,j}\}) = \operatorname{mex}(\{3, 0\}) + \operatorname{mex}(\{2, 1\}) + \operatorname{mex}(\{3, 2\}) + \operatorname{mex}(\{0, 1\}) = 1 + 0 + 0 + 2 = 3$。
**本翻译由 AI 自动生成**