AT_abc317_g.[ABC317G] Rearranging

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

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

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

  • 按照 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},则对于每个 1≤i≤N1\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

    输出#1

    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

    输出#2

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

说明/提示

限制条件

  • 1≤N,M≤1001\leq N,M\leq 100
  • 1≤Ai,j≤N1\leq A_{i,j}\leq N
  • 输入均为整数
  • NMNM 个数 A1,1,…,AN,MA_{1,1},\ldots,A_{N,M} 恰好包含 1,…,N1,\ldots,N 各 MM 个

样例说明 1

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

Yes
1 1
2 3
3 2

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页