/ Vijos / 题库 /

俄罗斯方块

俄罗斯方块

时间限制:1秒  内存限制:256M


【题目描述】

  编程专家小H最近在研究一款俄罗斯方块的模仿版,他的程序已支持将下图中显示的五种不同的俄罗斯方块图形放在一个矩阵中。在将图形放入俄罗斯方块矩阵之前,允许对它进行任意次90度旋转并着色。此外,在当前版本的游戏中,不支持放置会超出矩阵边界或与矩阵中的现有图形重叠的图形。
说明
  小H的弟弟乘他不在时打开了游戏,并随机旋转、着色和放置俄罗斯方块图形,使得所有相邻的图形颜色不同。如果两个图形共用一个侧面,则称它们相邻。
  当小H回到家时,他发现游戏正在运行并显示着他弟弟放置的俄罗斯方块。他想知道俄罗斯方块矩阵中有哪几种图形?各有多少个?由于他忙于改进游戏,他要求你帮助他解决这个问题。

【输入格式】

  第一行输入包含正整数 \(N\) 和 \(M(1≤N,M≤50)\),分别表示俄罗斯方块矩阵的行数和列数。
  接下来 \(N\) 行,每行包含表示矩阵的 \(M\) 个字符。每个字符都可以是’.’,表示空格;或小写英文字母,代表图形的俄罗斯方块图形的一部分。不同的字母代表不同的颜色,同一图形的各部分颜色相同。

【输出格式】

  输出共五行,第 \(i\) 行包含一个整数,表示第i种图形的出现次数。

【输入输出样例1】

 Input

4 5
cccc.
.aa..
.aavv
...vv

 Output

2
1
0
0
0

【输入输出样例2】

 Input

4 5
.xxk.
xxkk.
.nkxx
nnnxx

 Output

1
0
1
1
1

【输入输出样例3】

 Input

5 7
.s.....
ssrrrr.
szzppoo
zzppwoo
...www.

 Output

1
1
2
1
1

【输入输出样例3】

  对应的图形如下:
说明

【数据限制】

  对于20%的测试数据,只会出现第 1 种图形。
  对于40%的测试数据,只会出现前 2 种图形。
  对于60%的测试数据,只会出现前 3 种图形。
  对于80%的测试数据,只会出现前 4 种图形。

【来源】

  Mr.he

信息

ID
3231
难度
(无)
分类
模拟 点击显示
标签
(无)
递交数
0
已通过
0
通过率
?
被复制
2
上传者