dfs

深度优先搜索. 它是将当前状态按照一定的顺序,一直走到“路”的尽头,如果无法再向前走,则退回一步到上一个状态,再按照原先设定的顺序重新寻找一条路。如此重复,直至找到目标状态,或者遍历完所有状态。

dfs框架:

int dfs(int n)

{

 for (i=1;i<=**;i++)

  if (满足条件)

       {

    保存结果

    if (到目的地) 输出解;

              else dfs(n+1);

    恢复之前的状态(回溯一步);

     }

 }