#P15684. [Bulgarian2022训练营]cosmos重返宇宙
[Bulgarian2022训练营]cosmos重返宇宙
题目描述
一艘新的宇宙飞船被制造出来。它外壳上的一个矩形区域由大小相同、颜色不同的矩形隔热砖铺成。这个矩形区域共有 行,每行有 块砖。
飞船外壳使用若干相同的矩形面板铺设。每个面板也由彩色砖组成。面板会从上到下按“面板行”铺在矩形区域中。每一行面板相对于上一行面板可以向右平移,并且相邻两行面板之间的平移量相同。所有面板的方向相同。
总设计师已经知道整个矩形区域中每块砖的颜色。他需要选择一个大小为 的面板,以及一个向右平移量 ,使得该面板能够生成给定矩形区域,并且面板面积 尽可能小。
这里 表示每一行面板相对于上一行面板向右平移的砖数,满足 。
下图展示了一个由 行构成的矩形区域的一部分。满足条件的最小面板大小为 ,平移量为 。

请编写程序 cosmos,根据给定矩形区域中砖块的颜色,找出面积最小的面板,并输出每一行面板相对于上一行面板向右平移的距离 。
输入格式
第一行包含两个整数 ,表示矩形区域的行数和列数。
接下来 行,每行一个长度为 的字符串,表示该行砖块的颜色。每种颜色用一个大写拉丁字母表示,因此共有最多 种颜色。
保证对于给定矩形区域,存在某个大小为 的面板满足条件,并且满足 、。
输出格式
输出三个整数 ,满足题目条件。
若有多个解,输出其中 最小的解。这里的比较应在面板面积最小的前提下进行。
样例 1
输入
2 4
ABAB
ABAB
输出
1 2 0
样例 2
输入
5 7
DCADCAD
BABBABB
ADCADCA
BBABBAB
CADCADC
输出
2 3 1
样例 2 对应下图。

子任务
- 子任务 1: 分,正确答案中 ,且 ;
- 子任务 2: 分,正确答案中 ,且 ;
- 子任务 3: 分,正确答案中 ,且 ;
- 子任务 4: 分, 任意,且 ;
- 子任务 5: 分, 任意,且 ;
- 子任务 6: 分, 任意,且 ;
- 子任务 7: 分, 任意,且 。