loj#P4101. 「POI2021 R1」Druk
「POI2021 R1」Druk
题目描述
题目译自 XXIX Olimpiada Informatyczna – I etap Druk
印刷匠 Bajtazar 收到了一个印刷任务,要求他印刷一块写有文字的牌子。牌子是一个 的网格,字母均匀分布在上面。Bajtazar 要用一个印刷模板来完成印刷,这个模板是一个宽度等于一个字母行的长条。印刷的过程是通过若干次把模板放在牌子上,然后在模板上喷涂颜料。注意印刷的时候模板不能超出牌子的边界。
模板要分别准备横向和纵向的两种版本,而且两种版本必须包含相同的文字。Bajtazar 必须用模板精确地印刷牌子上的每一个位置。注意,不能把任何一种版本的模板旋转,否则字母会倒过来印刷。
请你帮助 Bajtazar 告诉他所有可以用来印刷整个牌子的模板的长度。
输入格式
输入的第一行包含两个正整数 ,分别表示牌子上的字母行数和每行的字母数。接下来的 行,每行包含一个长度为 的由小写字母字母组成的字符串,表示牌子上从上到下的每一行的内容。
输出格式
输出的第一行应该包含一个整数,表示 Bajtazar 可以用来印刷牌子的模板的长度的数量。第二行应该包含所有这些长度,按照严格递增的顺序,用单个空格隔开。如果第一行输出的是 ,那么第二行应该留空。
5 8
aabaaaaa
babaabbb
aabaaaaa
aabaaaaa
abaaabaa
1
4

样例 2
见附加文件下 [dru1.in](file:dru1.in) 和 [dru1.out](file:dru1.out)。
该样例满足 ,全部都是字母 。
样例 3
见附加文件下 [dru2.in](file:dru2.in) 和 [dru2.out](file:dru2.out)。
该样例满足 ,每行都是 形式的文本。
样例 4
见附加文件下 [dru3.in](file:dru3.in) 和 [dru3.out](file:dru3.out)。
该样例满足 ,文本如下图所示:

样例 5
见附加文件下 [dru4.in](file:dru4.in) 和 [dru4.out](file:dru4.out)。
该样例满足 ,全部都是字母 和中间一个字母 ,不存在这样的模板。
样例 6
见附加文件下 [dru5.in](file:dru5.in) 和 [dru5.out](file:dru5.out)。
该样例满足 ,牌子由
和
像国际象棋棋盘一样交替组成 。存在一个模板 (注意, 不是模板)。
数据范围与提示
详细子任务附加限制及分值如下表所示。
| 子任务编号 | 附加限制 | 分值 |
|---|---|---|