粉刷迷宫 |
Time Limit: 1 Seconds Memory Limit: 32768 K Total Submit:108 Accepted:26 |
Description 话说最近PhoenixWright最近太闲了,于是就自己建了个迷宫自娱自乐。但是这迷宫实在是太难看了,都吸引不了MM来玩= =。于是他想给这迷宫的墙刷上好看的颜色,但是由于Money有限,他又不想把所有的墙都刷上颜色,于是他请你来帮忙,把迷宫里所有能看到的墙都给刷上颜色,不能看到的墙就不要刷。 那么,如图所示,红线圈出的部分就是需要粉刷的部分。 写一程序计算对于所给的迷宫,需要粉刷多少单位的墙,如上例必须粉刷24单位的墙。 Input 多组测试数据。 Output 对于每个测试例,输出需要粉刷多少单位的墙 Sample Input
4 5 ##..# #.#.# #.#.# #####
Sample Output
24 解题思路:这题主要就是扫掉迷宫最外围的墙壁,统计外围要粉刷几个墙。然后标记最外围的路,因为最外围的路所对的墙一定是可以看见 的,所以我们就从标记的路开始扫描他的上下左右,是墙壁就+1,是路就再对它的四周扫描,所以这是一个递归的过程。记住扫描过的路 就要再次进行标记,以免重复计算。 |
粉刷迷宫
最新推荐文章于 2023-10-28 12:55:35 发布