[GDCPC2023] Path Planning

题意翻译

**【题目描述】** 有一个 $n$ 行 $m$ 列的网格。网格里的每个格子都写着一个整数,其中第 $i$ 行第 $j$ 列的格子里写着整数 $a_{i, j}$。从 $0$ 到 $(n \times m - 1)$ 的每个整数(含两端)在网格里都恰好出现一次。 令 $(i, j)$ 表示位于第 $i$ 行第 $j$ 列的格子。您现在需要从 $(1, 1)$ 出发并前往 $(n, m)$。当您位于格子 $(i, j)$ 时,您可以选择走到右方的格子 $(i, j + 1)$(若 $j < m$),也可以选择走到下方的格子 $(i + 1, j)$(若 $i < n$)。 令 $\mathbb{S}$ 表示路径上每个格子里的整数形成的集合,包括 $a_{1, 1}$ 和 $a_{n, m}$。令 $\text{mex}(\mathbb{S})$ 表示不属于 $\mathbb{S}$ 的最小非负整数。请找出一条路径以最大化 $\text{mex}(\mathbb{S})$,并求出这个最大的值。 **【输入格式】** 有多组测试数据。第一行输入一个整数 $T$ 表示测试数据组数。对于每组测试数据: 第一行输入两个整数 $n$ 和 $m$($1 \le n, m \le 10^6$,$1 \le n \times m \le 10^6$)表示网格的行数和列数。 对于接下来 $n$ 行,第 $i$ 行输入 $m$ 个整数 $a_{i, 1}, a_{i, 2}, \cdots, a_{i, m}$($0 \le a_{i, j} < n \times m$),其中 $a_{i, j}$ 表示格子 $(i, j)$ 里的整数。从 $0$ 到 $(n \times m - 1)$ 的每个整数(含两端)在网格里都恰好出现一次。 保证所有数据 $n \times m$ 之和不超过 $10^6$。 **【输出格式】** 每组数据输出一行一个整数,表示最大的 $\text{mex}(\mathbb{S})$。 **【样例解释】** 对于第一组样例数据,共有 $3$ 条可能的路径。 - 第一条路径为 $(1, 1) \to (1, 2) \to (1, 3) \to (2, 3)$。$\mathbb{S} = \{1, 2, 4, 5\}$ 因此 $\text{mex}(\mathbb{S}) = 0$。 - 第二条路径为 $(1, 1) \to (1, 2) \to (2, 2) \to (2, 3)$。$\mathbb{S} = \{1, 2, 0, 5\}$ 因此 $\text{mex}(\mathbb{S}) = 3$。 - 第三条路径为 $(1, 1) \to (2, 1) \to (2, 2) \to (2, 3)$。$\mathbb{S} = \{1, 3, 0, 5\}$ 因此 $\text{mex}(\mathbb{S}) = 2$。 因此答案为 $3$。 对于第二组样例数据,只有 $1$ 条可能的路径,即 $(1, 1) \to (1, 2) \to (1, 3) \to (1, 4) \to (1, 5)$。$\mathbb{S} = \{1, 3, 0, 4, 2\}$ 因此 $\text{mex}(\mathbb{S}) = 5$。

题目描述

There is a grid with $n$ rows and $m$ columns. Each cell of the grid has an integer in it, where $a_{i, j}$ indicates the integer in the cell located at the $i$-th row and the $j$-th column. Each integer from $0$ to $(n \times 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 $\mathbb{S}$ be the set consisting of integers in each cell on your path, including $a_{1, 1}$ and $a_{n, m}$. Let $\text{mex}(\mathbb{S})$ be the smallest non-negative integer which does not belong to $\mathbb{S}$. Find a path to maximize $\text{mex}(\mathbb{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 \le n, m \le 10^6$, $1 \le n \times m \le 10^6$) indicating the number of rows and columns of the grid. For the following $n$ lines, the $i$-th line contains $m$ integers $a_{i, 1}, a_{i, 2}, \cdots, a_{i, m}$ ($0 \le a_{i, j} < n \times m$) where $a_{i, j}$ indicates the integer in cell $(i, j)$. Each integer from $0$ to $(n \times m - 1)$ (both inclusive) appears exactly once in the grid. It's guaranteed that the sum of $n \times m$ of all test cases will not exceed $10^6$.

输出格式


For each test case output one line containing one integer indicating the maximum possible value of $\text{mex}(\mathbb{S})$.

输入输出样例

输入样例 #1

2
2 3
1 2 4
3 0 5
1 5
1 3 0 4 2

输出样例 #1

3
5

说明

For the first sample test case there are $3$ possible paths. - The first path is $(1, 1) \to (1, 2) \to (1, 3) \to (2, 3)$. $\mathbb{S} = \{1, 2, 4, 5\}$ so $\text{mex}(\mathbb{S}) = 0$. - The second path is $(1, 1) \to (1, 2) \to (2, 2) \to (2, 3)$. $\mathbb{S} = \{1, 2, 0, 5\}$ so $\text{mex}(\mathbb{S}) = 3$. - The third path is $(1, 1) \to (2, 1) \to (2, 2) \to (2, 3)$. $\mathbb{S} = \{1, 3, 0, 5\}$ so $\text{mex}(\mathbb{S}) = 2$. So the answer is $3$. For the second sample test case there is only $1$ possible path, which is $(1, 1) \to (1, 2) \to (1, 3) \to (1, 4) \to (1, 5)$. $\mathbb{S} = \{1, 3, 0, 4, 2\}$ so $\text{mex}(\mathbb{S}) = 5$.