核心代码:
关于dfs参数问题,什么在变化,就把什么设置成参数。
DFS基本框架
void dfs()//参数用来表示状态
{
if(到达终点状态)
{
...//根据题意添加
return;
}
if(越界或者是不合法状态)
return;
if(特殊状态)//剪枝
return ;
for(扩展方式)
{
if(扩展方式所达到状态合法)
{
修改操作;//根据题意来添加
标记;
dfs();
(还原标记);
//是否还原标记根据题意
//如果加上(还原标记)就是 回溯法
}
}
}
DFS全排列
https://blog.csdn.net/Coding_Or_Dead/article/details/52326519
https://blog.csdn.net/qq_40763929/article/details/81629800
https://blog.csdn.net/u014355480/article/details/47126977
https://blog.csdn.net/zjh_2017/article/details/79517072
https://blog.csdn.net/m0_37690319/article/details/81396629?utm_source=blogxgwz4