题目描述
There is a grid with n rows and m columns. Each cell of the grid has an integer in it, where ai,j indicates the integer in the cell located at the i-th row and the j-th column. Each integer from 0 to (n×m−1) (both inclusive) appears exactly once in the grid.
Let (i,j) be the cell located at the i-th row and the j-th column. You now start from (1,1) and need to reach (n,m). When you are in cell (i,j), you can either move to its right cell (i,j+1) if j<m or move to its bottom cell (i+1,j) if i<n.
Let S be the set consisting of integers in each cell on your path, including a1,1 and an,m. Let mex(S) be the smallest non-negative integer which does not belong to S. Find a path to maximize mex(S) and calculate this maximum possible value.
输入格式
There are multiple test cases. The first line of the input contains an integer T indicating the number of test cases. For each test case:
The first line contains two integers n and m (1≤n,m≤106, 1≤n×m≤106) indicating the number of rows and columns of the grid.
For the following n lines, the i-th line contains m integers ai,1,ai,2,⋯,ai,m (0≤ai,j<n×m) where ai,j indicates the integer in cell (i,j). Each integer from 0 to (n×m−1) (both inclusive) appears exactly once in the grid.
It's guaranteed that the sum of n×m of all test cases will not exceed 106.
输出格式
For each test case output one line containing one integer indicating the maximum possible value of mex(S).
题目大意
【题目描述】
有一个 n 行 m 列的网格。网格里的每个格子都写着一个整数,其中第 i 行第 j 列的格子里写着整数 ai,j。从 0 到 (n×m−1) 的每个整数(含两端)在网格里都恰好出现一次。
令 (i,j) 表示位于第 i 行第 j 列的格子。您现在需要从 (1,1) 出发并前往 (n,m)。当您位于格子 (i,j) 时,您可以选择走到右方的格子 (i,j+1)(若 j<m),也可以选择走到下方的格子 (i+1,j)(若 i<n)。
令 S 表示路径上每个格子里的整数形成的集合,包括 a1,1 和 an,m。令 mex(S) 表示不属于 S 的最小非负整数。请找出一条路径以最大化 mex(S),并求出这个最大的值。
【输入格式】
有多组测试数据。第一行输入一个整数 T 表示测试数据组数。对于每组测试数据:
第一行输入两个整数 n 和 m(1≤n,m≤106,1≤n×m≤106)表示网格的行数和列数。
对于接下来 n 行,第 i 行输入 m 个整数 ai,1,ai,2,⋯,ai,m(0≤ai,j<n×m),其中 ai,j 表示格子 (i,j) 里的整数。从 0 到 (n×m−1) 的每个整数(含两端)在网格里都恰好出现一次。
保证所有数据 n×m 之和不超过 106。
【输出格式】
每组数据输出一行一个整数,表示最大的 mex(S)。
【样例解释】
对于第一组样例数据,共有 3 条可能的路径。
- 第一条路径为 (1,1)→(1,2)→(1,3)→(2,3)。S={1,2,4,5} 因此 mex(S)=0。
- 第二条路径为 (1,1)→(1,2)→(2,2)→(2,3)。S={1,2,0,5} 因此 mex(S)=3。
- 第三条路径为 (1,1)→(2,1)→(2,2)→(2,3)。S={1,3,0,5} 因此 mex(S)=2。
因此答案为 3。
对于第二组样例数据,只有 1 条可能的路径,即 (1,1)→(1,2)→(1,3)→(1,4)→(1,5)。S={1,3,0,4,2} 因此 mex(S)=5。
2
2 3
1 2 4
3 0 5
1 5
1 3 0 4 2
3
5
提示
For the first sample test case there are 3 possible paths.
- The first path is (1,1)→(1,2)→(1,3)→(2,3). S={1,2,4,5} so mex(S)=0.
- The second path is (1,1)→(1,2)→(2,2)→(2,3). S={1,2,0,5} so mex(S)=3.
- The third path is (1,1)→(2,1)→(2,2)→(2,3). S={1,3,0,5} so mex(S)=2.
So the answer is 3.
For the second sample test case there is only 1 possible path, which is (1,1)→(1,2)→(1,3)→(1,4)→(1,5). S={1,3,0,4,2} so mex(S)=5.