dfs基本套路
void dfs()//参数用来表示状态 //从功能单元去理解
{
if(到达终点状态)
{
...//根据题意添加
return;
}
if(特殊状态) //剪枝
return ;
if(如果不越界且合法)
{
for(扩展方式) //搜周围
{
if(扩展方式所达到状态合法)
{
修改操作; //根据题意来添加 //从dfs套dfs整体来理解这一步
标记;
dfs();
(还原标记);
//是否还原标记根据题意
//如果加上(还原标记)就是 回溯法
}
}
}
return ; //这里的return可以不放,而把它放在一开始。(详见“找细胞”一题)
}