#aBC277Fid270. [ABC277F] Sorting a Matrix

[ABC277F] Sorting a Matrix

AT_abc277_f [ABC277F] Sorting a Matrix

题目描述

给定一个 HHWW 列、元素为非负整数的矩阵 AA。对于满足 1iH1 \leq i \leq H1jW1 \leq j \leq W 的整数对 (i,j)(i, j)AA 的第 ii 行第 jj 列的元素记为 Ai,jA_{i, j}

AA 可以进行如下操作:

  • 首先,将 AA 中所有为 00 的元素分别替换为任意正整数(如果有多个 00,可以分别替换为不同的正整数)。
  • 然后,可以任意次(也可以不进行)执行以下两种操作中的任意一种:
    • 选择满足 1i<jH1 \leq i < j \leq H 的整数对 (i,j)(i, j),交换 AA 的第 ii 行和第 jj 行。
    • 选择满足 1i<jW1 \leq i < j \leq W 的整数对 (i,j)(i, j),交换 AA 的第 ii 列和第 jj 列。

请判断是否可以通过上述操作,使得 AA 满足以下条件:

  • $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}$
  • 换句话说,对于任意满足 1i,iH1 \leq i, i' \leq H1j,jW1 \leq j, j' \leq W 的两个整数对 (i,j)(i, j)(i,j)(i', j'),都满足以下两个条件:
    • 如果 i<ii < i',则 Ai,jAi,jA_{i, j} \leq A_{i', j'}
    • 如果 i=ii = i'j<jj < j',则 Ai,jAi,jA_{i, j} \leq A_{i', j'}

输入格式

输入按以下格式从标准输入读入。

HH WW A1,1A_{1, 1} A1,2A_{1, 2} \ldots A1,WA_{1, W} A2,1A_{2, 1} A2,2A_{2, 2} \ldots A2,WA_{2, W} \vdots AH,1A_{H, 1} AH,2A_{H, 2} \ldots AH,WA_{H, W}

输出格式

如果可以使 AA 满足题目中的条件,则输出 Yes,否则输出 No

输入输出样例 #1

输入 #1

3 3
9 6 0
0 4 0
3 0 3

输出 #1

Yes

输入输出样例 #2

输入 #2

2 2
2 1
1 2

输出 #2

No

说明/提示

限制

  • 2H,W2 \leq H, W
  • H×W106H \times W \leq 10^6
  • 0Ai,jH×W0 \leq A_{i, j} \leq H \times W
  • 输入均为整数

样例解释 1

可以通过如下步骤操作,使 AA 满足题目中的条件,因此输出 Yes

  • 首先,将 AA 中的 00 元素替换如下:
    9 6 8
    5 4 4
    3 1 3
    
  • 交换第 2 列和第 3 列,结果如下:
    9 8 6
    5 4 4
    3 3 1
    
  • 交换第 1 行和第 3 行,结果如下:
    3 3 1
    5 4 4
    9 8 6
    
  • 交换第 1 列和第 3 列,结果如下,满足题目条件:
    1 3 3
    4 4 5
    6 8 9
    

样例解释 2

无论如何操作,都无法使 AA 满足题目中的条件,因此输出 No

由 ChatGPT 4.1 翻译