#P7170. 卫星图像(Sateliti)

0

卫星图像(Sateliti)

卫星图像(Sateliti)

题目描述

为了得到进一步的探索进展,阿雷西博望远镜将拍下土星的卫星。研究团队必须区分卫星图像并将它们按卫星分组,但由于卫星从不同角度拍摄,因此并不容易。

捕捉到的图像可以以一个 n×mn \times m 的矩阵呈现,其中 * 表示火山,而 . 表示平地。我们认为两个图像属于同一颗卫星,当且仅当它们能环形地互相通过向上下或左右平移得到。

科研工作者想要找到字典序最小的与给定图像属于同一颗卫星的图像。我们把图像的所有行依次连接组成字符串,再判断字符串的字典序即可。

输入格式

第一行包含两个整数 n,mn,m,表示图像的规模。

接下来的 nn 行,每行输入 mm 个字符,表示图像所对应的矩阵。

输出格式

输出共 nn 行,每行有 mm 个字符,表示满足要求的字典序最小的图像。

样例输入 #1

3 3
.**
*..
.*.

样例输出 #1

**.
..*
*..

样例输入 #2

3 4
....
..*.
....

样例输出 #2

*...
....
....

样例输入 #3

3 5
.**..
.***.
..**.

样例输出 #3

***..
.**..
**...

数据范围

【样例解释 #1】

所有可能的情况:

【数据范围】

Subtask 分值 数据范围及约定
11 1010 1≤n,m≤501 \le n,m \le 50
22 4040 1≤n,m≤3001 \le n,m \le 300
33 6060 无

对于 100%100\% 的数据,1≤n,m≤10001 \le n,m \le 1000。

【说明】

本题分值按 COCI 原题设置,满分 110110。

题目译自 COCI2020-2021 CONTEST #3 T3 Sateliti。

知识点与难度

本题涉及的知识点从属于 CSP-S,难度(CF Rating):2100。


测试点分布

Subtask 分值 测试点编号 说明
0 15 1~3 样例
1 20 4~9 小规模 n,m≤50 / 特殊: 全同字符或仅单个火山
2 25 10~15 中等规模 n,m≤300
3 20 16~20 大规模 n,m≤800 周期性高相似度矩阵测试
4 21~25 满规模 n=1000, m=1000 二维哈希 + 二分 LCP 压力测试

出处:原题链接