P25892 [AtCoder] Sorting a Matrix
提高+
题目描述

Problem Statement

You are given a matrix A whose elements are non-negative integers.
For a pair of integers (i, j) such that $1 \leq i \leq H$ and $1 \leq j \leq W$,
let A_{i, j} denote the element at the i-th row and j-th column of A.
Let us perform the following procedure on A.

- First, replace each element of A that is 0 with an arbitrary positive integer (if multiple elements are 0, they may be replaced with different positive integers).

Then, repeat performing one of the two operations below, which may be chosen each time, as many times as desired (possibly zero).

  • Choose a pair of integers (i, j) such that $1 \leq i \lt j \leq H$ and swap the i-th and j-th rows of A.
  • Choose a pair of integers (i, j) such that $1 \leq i \lt j \leq W$ and swap the i-th and j-th columns of A.

Determine whether A can be made to satisfy the following condition.

- $A_{1, 1} \leq A_{1, 2} \leq \cdots \leq A_{1, W} \leq A_{2, 1} \leq A_{2, 2} \leq \cdots \leq A_{2, W} \leq A_{3, 1} \leq \cdots \leq A_{H, 1} \leq A_{H, 2} \leq \cdots \leq A_{H, W}$.

In other words, for every two pairs of integers (i, j) and (i', j') such that $1 \leq i, i$' $\leq H$ and $1 \leq j, j$' $\leq W,$ both of the following conditions are satisfied.

  • If $i \lt i$', then $A_{i, j} \leq A_{i$', j'}.
  • If i = i' and $j \lt j$', then $A_{i, j} \leq A_{i$', j'}.

Input

The input is given from Standard Input in the following format:
H W
$A_{1, 1} A_{1, 2} \ldots A_{1, W}$
$A_{2, 1} A_{2, 2} \ldots A_{2, W}$
$\vdots$
$A_{H, 1} A_{H, 2} \ldots A_{H, W}$

Output

If A can be made to satisfy the condition in the problem statement, print Yes; otherwise, print No.

Constraints

  • $2 \leq H, W$
  • $H \times W \leq 10^6$
  • $0 \leq A_{i, j} \leq H \times W$
  • All values in the input are integers.

Sample Input 1

3 3
9 6 0
0 4 0
3 0 3

Sample Output 1

Yes

One can perform the operations as follows to make A satisfy the condition in the problem statement, so you should print Yes.

  • First, replace the elements of A that are 0, as shown below:

9 6 8
5 4 4
3 1 3

  • Swap the second and third columns. Then, A becomes:

9 8 6
5 4 4
3 3 1

  • Swap the first and third rows. Then, A becomes:

3 3 1
5 4 4
9 8 6

  • Swap the first and third columns. Then, A becomes the following and satisfies the condition in the problem statement.

1 3 3
4 4 5
6 8 9

Sample Input 2

2 2
2 1
1 2

Sample Output 2

No

There is no way to perform the operations to make A satisfy the condition in the problem statement, so you should print No.

输入格式

见题面 Input 部分

输出格式

见题面 Output 部分

样例输入
3 3 9 6 0 0 4 0 3 0 3
样例输出
Yes