|
|

楼主 |
发表于 2005-11-27 12:35:00
|
显示全部楼层
Re:算法帖-大家都来试试
9、房间问题
难度:******
下图示意出了一张建筑平面图,编程计算:
1、该建筑中有多少个房间。
2、最大的房间有多大。
3、拆除建筑中的某一堵墙,以形成一个尽可能大的房间,指出该墙。

输入数据:平面图以数字方式存储。
1、文件开头是南北方向的方块数,其次是东西方向的方块数。
2、后面的行中,每个方块中墙的特征用数字p来描述(0<=p<=15),数字p是下面可能取的数字之和:1(西墙West),2(北墙North),4(东墙East),8(南墙South)。
3、建筑中至少有两个房间。
输出数据:
第一行是总共的房间数。
第二行是最大的房间有多大(用占用了几个方块表示)
第三行是该拆除的墙的位置,格式为:(x1,y1)(x2,y2),表示拆除坐标为(x1,y1)和坐标为(x2,y2)的方块之间的墙。以西北角的方块为(1,1),向东横坐标递增,向南纵坐标递增。
以上图为例:
输入:
2 3
15 3 14
11 12 15
输出:
3
4
(1,1)(1,2)
|
|