#298. The Castle
The Castle
The Castle
题目描述
一座城堡被分成 m×n 个方块(m ≤ 50,n ≤ 50),每个方块可有 0~4 堵墙(0 表示无墙)。几个连通的方块组成一个房间,房间与房间之间一定是用墙隔开的。现在请你编程解决两个问题:
- 该城堡中有多少个房间?
- 最大的房间有多大(即包含多少个方块)?
输入
平面图用一个数字表示一个方块的墙情,数字是下面所列数字之和:1(西墙 west)、2(北墙 north)、4(东墙 east)、8(南墙 south)。数字 0 表示没有墙。室内的墙被定义两次,例如方块 (1,1) 的南墙也被其南面的方块 (2,1) 定义了一次。
- 第一行:一个整数 m(m ≤ 50),表示城堡南北方向的长度。
- 第二行:一个整数 n(n ≤ 50),表示城堡东西方向的长度。
- 接下来 m 行,每行 n 个整数(0 ≤ P ≤ 15),表示平面图对应方块的墙情。
建筑中至少有两个房间。
输出
- 第一行:一个整数,表示房间总数。
- 第二行:一个整数,表示最大房间的面积(方块数)。
样例输入
4
7
11 6 11 6 3 10 6
7 9 6 13 5 15 5
1 10 12 7 13 7 5
13 11 10 8 10 12 13
样例输出
5
9