CF650C.Table Compression
提高+/省选-
通过率:0%
时间限制:4.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Little Petya is now fond of data compression algorithms. He has already studied gz, bz, zip algorithms and many others. Inspired by the new knowledge, Petya is now developing the new compression algorithm which he wants to name dis.
Petya decided to compress tables. He is given a table a consisting of n rows and m columns that is filled with positive integers. He wants to build the table a' consisting of positive integers such that the relative order of the elements in each row and each column remains the same. That is, if in some row i of the initial table a__i, j < a__i, k, then in the resulting table a'i, j < a'i, k, and if a__i, j = a__i, k then a'i, j = a'i, k. Similarly, if in some column j of the initial table a__i, j < a__p, j then in compressed table a'i, j < a'p, j and if a__i, j = a__p, j then a'i, j = a'p, j.
Because large values require more space to store them, the maximum value in a' should be as small as possible.
Petya is good in theory, however, he needs your help to implement the algorithm.
小佩特亚现在热衷于数据压缩算法。他已研究过 gz、bz、zip 等多种算法。受新知识的启发,佩特亚正在开发一种全新的压缩算法,他打算将其命名为 dis。
佩特亚决定压缩表格。他得到一个由 n 行 m 列组成的表格 a,其中填满了正整数。他希望构造一个同样由正整数组成的表格 a′,使得每一行和每一列中元素的相对顺序保持不变。即:
- 若在初始表格 a 的某一行 i 中有 ai,j<ai,k,则在结果表格 a′ 中必须满足 ai,j′<ai,k′;若 ai,j=ai,k,则也必须有 ai,j′=ai,k′。
- 类似地,若在初始表格 a 的某一列 j 中有 ai,j<ap,j,则在压缩后的表格 a′ 中必须满足 ai,j′<ap,j′;若 ai,j=ap,j,则也必须有 ai,j′=ap,j′。
由于较大的数值需要更多存储空间,因此要求表格 a′ 中的最大值尽可能小。
佩特亚理论功底扎实,但他仍需要你的帮助来实现该算法。
输入格式
The first line of the input contains two integers n and m (
, the number of rows and the number of columns of the table respectively.
Each of the following n rows contain m integers a__i, j (1 ≤ a__i, j ≤ 109) that are the values in the table.
输入的第一行包含两个整数 n 和 m(
,分别表示表格的行数和列数)。
接下来的 n 行,每行包含 m 个整数 ai,j(1 ≤ ai,j ≤ 109),表示表格中的数值。
输出格式
Output the compressed table in form of n lines each containing m integers.
If there exist several answers such that the maximum number in the compressed table is minimum possible, you are allowed to output any of them.
以 n 行、每行包含 m 个整数的形式输出压缩后的表格。
如果存在多个答案使得压缩表格中的最大数达到可能的最小值,则允许输出其中任意一个。
输入输出样例
输入#1
2 2 1 2 3 4
输出#1
1 2 2 3
输入#2
4 3 20 10 30 50 40 30 50 60 70 90 80 70
输出#2
2 1 3 5 4 3 5 6 7 9 8 7
说明/提示
In the first sample test, despite the fact _a_1, 2 ≠ _a_21, they are not located in the same row or column so they may become equal after the compression.
在第一个样例测试中,尽管 a1,2=a2,1,但它们并不位于同一行或同一列,因此压缩后可能相等。
输入解题思路,AI测评打分。不知道怎么写?