[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$.