The Castle

()开始的考虑是在遍历图的过程中,一边标记本联通区域的单元,一边递归相邻区域的单元。

思路为:

countRoom

{

for(有门的方向)

{

countRoom//递归

}

for(有墙的方向)

{

cout++//计数联通区域

countRoom//递归

}

}

但是这种情况下,总是不能获得每个联通区域完整访问

到现在也没想明白为什么

(2)改变思路,直接从每个没有访问过的单元格出发,得到与这个单元格象链接的单元格,这样子需要逐个查看单元格,不过题目规定的最大数目50*50也还好

在这种思路下,遍历网格,很容易标记处个个连通图

(3)在计算链接两个联通区域获得最大联通区域的时候又不知道该怎么搞了

这次是看了网上其他人的解题报告~发现不需要那么复杂的,只要遍历网格,查看每个墙的两边的情况,然后记录能连通区域的最大值就好了~

原文地址:https://www.cnblogs.com/growup/p/2021598.html