测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A1383. [COCI-2020-2021-contest3]#2 Sateliti

编程题 普及/提高-

题目描述

For crater exploration purposes, the Arecibo telescope records images of Saturn’s satellites. The scientific team must distinguish between satellite images and group the images by satellite, but it’s not that simple because satellites could be shot from different angles.
Captured images can be displayed as n × m matrices, filled with ’*’ (crater) and ’.’ (plain surface). We say that two images correspond to the same satellite if one can get the other by circular shifts of rows and columns.
To make the verification process easier, scientists want to find the lexicographically smallest image corresponding to the satellite from the given image. When comparing images, we compare strings obtained by concatenating all rows of the image, where characters are compared by ASCII value.

输入格式

The first line contains integers n and m (1 ≤ n, m ≤ 1000), the dimensions of the image.
Each of the following n lines contains m characters ’*’ and ’.’. This represents the captured image.

输出格式

Output n lines with m characters each, the wanted lexicographically smallest image.

输入输出样例

输入 #1
3 3
.**
*..
.*.
输出 #1
**.
..*
*..
输入 #2
3 4
....
..*.
....
输出 #2
*...
....
....

说明/提示

Clarification of the first example:
All images that can be obtained by circular shifts are:
.** .*. *.. **. *.. ..* *.* ..* .*.
*.. .** .*. ..* **. *.. .*. *.* ..*
.*. *.. .** *.. ..* **. ..* .*. *.*
上一题 去做题 下一题