#C24061103. 游乐园(happy.cpp)
游乐园(happy.cpp)
在一个游乐场里,有一个区域被划分为 行 列的格子网格,每个格子用 表示,表示的第 行第 列格子。
有一天,该区域突然被「遇到异性就会被感染」病毒感染,也就是说你只要遇到了异性,你就会被感染病毒,现在在网格区域内出现了个男生和个女生。
如果一个孩子位于格子 ,并且可以向上、下、左、右四个方向之一行动,而不经过「异性」(如果你是男生,不经过女生;如果你是女生,不经过男生)就可以离开网格区域,那么这个方向对于这个孩子就是一个「逃跑通道」。
我们定义一个孩子为「幸存者」,当且仅当这个孩子拥有至少三个「逃跑通道」。
例如,如图所示,绿色方格代表男孩,粉色方格代表女孩。位于 的女孩,向上、下、左,都可以不经过男孩离开屏幕,共有三条「逃跑通道」因此,位于 的女孩是「幸存者」。而位于 的女孩,仅有左、右两条「逃跑通道」,因此 的女孩不是「幸存者」。
现在,请根据网格区域内孩子的分布情况,计算一共有多少个「幸存者」?
输入格式
输入共 行。
输入的第一行为四个整数 。
接下来 行,每行 个字符,第 行第 个字符 描述了网格 的情况:
- 若 为
.
,则代表 没有孩子。 - 若 为
F
,则代表 为女孩。 - 若 为
M
,则代表 为男孩。
输出格式
输出一行一个整数,代表「幸存者」的个数。
样例 #1
样例输入 #1
6 5 2 3
.....
.F.M.
.....
.F.F.
...M.
.....
样例输出 #1
3
提示
对于 的测试数据,;
对于 的测试数据,;
对于 的测试数据,,, 为 .
、F
、M
中的一个。