#P15590. [2025年山东第一轮集训] 染色

    ID: 14802 传统题 3000ms 512MiB 尝试: 1 已通过: 1 难度: 8 上传者: 标签>图论算法基础构造贪心模拟CF2500二分图

[2025年山东第一轮集训] 染色

题目描述

有一个 n×nn\times n 的棋盘,你需要给每个格子都染上 1m1\sim m 中的一个颜色,使得每一行或者每一列的颜色都各不相同。

但是,对于每个格子,恰有 mnm-n 种颜色不能染在上面。

你需要判断是否能找到一个满足条件的染色方案。如果可以,输出一种方案。

输入格式

第一行输入两个正整数 n,mn,m

接下来 n×nn\times n 行,每行 mnm-n 个严格递增的整数。

其中第 (i1)×n+j(i-1)\times n+j 行表示第 ii 行第 jj 列的格子有哪些颜色不能染。

输出格式

第一行输出 YesNo,表示是否有解。

如果有解,接下来输出 nn 行,每行输出 nn 个正整数,第 ii 行第 jj 列的整数表示第 ii 行第 jj 列的格子的颜色。

样例 1 输入

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

样例 1 输出

Yes
2 4 1
1 3 2
3 1 4

测试点约束

对于所有测试点:

1n500,1\le n\le 500, 0mn100.0\le m-n\le 100.

对于前 20%20\% 的数据:

n15.n\le 15.

对于前 40%40\% 的数据:

n100.n\le 100.

数据有梯度。

附件里提供了 chk.exe 来测试你的答案,你可以通过在命令行输入: @检测程序

./checker <input-file> <output-file> <answer-file>

来测试你的答案,其中 <answer-file> 没有影响。

需要注意这个程序只会测试你的解是否合法,不会告诉你有没有解。