#P4420. [COCI 2017/2018 #1] Tetris

[COCI 2017/2018 #1] Tetris

说明

Ivica 是一位激情昂扬的计算机科学家。他最近开始研究他的第一个电脑游戏:流行的俄罗斯方块的克隆版。尽管他还远未完成,但他的程序已支持将下图中显示的 55 种不同的俄罗斯方块图形放在一个矩阵中。在将图形放入俄罗斯方块矩阵之前,允许对它进行任意次 9090 度旋转并着色。此外,在当前版本的游戏中,不支持放置会超出矩阵边界或与矩阵中的现有图形重叠的图形。

Ivica 在学校时,他的妹妹 Marica 打开了游戏,并随机旋转、着色和放置俄罗斯方块图形,使得所有相邻的图形颜色不同。如果两个图形共用一个侧面,则称它们相邻。

当 Ivica 回到他的电脑前的时候,他发现游戏正在运行并显示着他妹妹放置的俄罗斯方块。他想知道俄罗斯方块矩阵中有哪几种图形各多少个。由于他忙于改进游戏,他要求你帮助他解决这个问题。

输入格式

第一行输入包含正整数 NNM(1N,M10)M(1 \le N,M \le 10),分别表示俄罗斯方块矩阵的行数和列数。

接下来 NN 行,每行包含表示矩阵的 MM 个字符。每个字符都可以是.(英文句点),表示空格;或小写英文字母,代表图形的一部分。不同的字母代表不同的颜色,同一图形的各部分颜色相同。

输出格式

输出共 55 行,第 ii 行包含一个整数,表示第 ii 种图形的出现次数。

4 5
aaaa.
.bb..
.bbxx
...xx

2
1
0
0
0

4 5
.aab.
aabb.
.cbaa
cccaa

1
0
1
1
1

5 7
.c.....
ccdddd.
caabbcc
aabbacc
...aaa.

1
1
2
1
1

提示

对于 20%20\% 的测试数据,只会出现第 11 种图形。

对于 40%40\% 的测试数据,只会出现前 22 种图形。

对于 60%60\% 的测试数据,只会出现前 33 种图形。

对于 80%80\% 的测试数据,只会出现前 44 种图形。


样例 33 解释:
下图展示了 Ivica 回到电脑前时的矩阵。