#ATabc317g. [ABC317G] Rearranging

[ABC317G] Rearranging

题目描述

有一个 NNMM 列的网格。自上而下第 ii 行、从左到右第 jj 列的格子中写有整数 Ai,jA_{i,j}
这里,网格中所有 NMNM 个整数恰好包含 1,,N1,\ldots,NMM 个。

你可以按如下步骤对格子中的数进行交换操作:

  • 按照 i=1,,Ni=1,\ldots,N 的顺序进行如下操作:
    • 可以任意重新排列第 ii 行中的数。也就是说,可以任意选择 1,,M1,\ldots,M 的一个排列 P=(P1,,PM)P=(P_1,\ldots,P_M),并将 Ai,1,,Ai,MA_{i,1},\ldots,A_{i,M} 同时替换为 Ai,P1,,Ai,PMA_{i,P_1},\ldots,A_{i,P_M}

你的目标是,经过操作后,使得每一列都恰好包含 1,,N1,\ldots,N 各一次。请判断是否可能做到,如果可能,请输出操作后的网格状态。

输入格式

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

NN MM
A1,1A_{1,1} \ldots A1,MA_{1,M}
\vdots
AN,1A_{N,1} \ldots AN,MA_{N,M}

输出格式

如果无法通过操作使每一列都恰好包含 1,,N1,\ldots,N 各一次,则输出 No
如果可以做到,第一行输出 Yes,接下来 NN 行输出操作后的网格状态,使得每一列都恰好包含 1,,N1,\ldots,N 各一次。
令操作后自上而下第 ii 行、从左到右第 jj 列的数为 Bi,jB_{i,j},则对于每个 1iN1\leq i\leq N,第 i+1i+1 行输出 Bi,1,,Bi,MB_{i,1},\ldots,B_{i,M},各数之间用空格分隔。

若有多组合法答案,输出任意一组均可。

样例 1

输入

3 2
1 1
2 3
2 3

输出

Yes
1 1
3 2
2 3

样例 2

输入

4 4
1 2 3 4
1 1 1 2
3 2 2 4
4 4 3 3

输出

Yes
1 4 3 2
2 1 1 1
4 2 2 3
3 3 4 4

说明/提示

限制条件

  • 1N,M1001\leq N,M\leq 100
  • 1Ai,jN1\leq A_{i,j}\leq N
  • 输入均为整数
  • NMNM 个数 A1,1,,AN,MA_{1,1},\ldots,A_{N,M} 恰好包含 1,,N1,\ldots,NMM

样例说明 1

除此之外,以下输出也是正确答案。

Yes
1 1
2 3
3 2

由 ChatGPT 4.1 翻译