深度优先搜索:具体做法就是沿着某条路走到尽头,如果没路了,就退回上一步,在寻找其他路线,如果再没路,继续退回上一路线,直到最开始。从而达到遍历的目的。
DFS模板:
DFS(v)
{
if(v被访问过)
{
return;
}
将v标记为访问过;
对于与v相邻的每一个点u:DFS(u);
}
int main()
{
while(v是未标记过的点)
{
DFS(V)
}
return 0;
}
例题:POJ1164
题目大意是要寻找城堡中的房间数,和房间的最大面积。#是墙,1,2,4,8分别代表西北东南方向的值,每个框读入的值都是它四周的墙的值的和!
The Castle
Time Limit: 1000MS | Memory Limit: 10000K | |
Total Submissions: 6936 | Accepted: 3888 |
Description<