int dfs(int k)
{
for(int i=1;i<=选择总数;i++)
if(满足条件)
{
保存结果;
if(到达目的地)
输出解;
else dfs(k+1);
恢复:保存结果之前的状态(回溯一步)
}
}
int dfs(int k)
{
for(int i=1;i<=选择总数;i++)
if(满足条件)
{
保存结果;
if(到达目的地)
输出解;
else dfs(k+1);
恢复:保存结果之前的状态(回溯一步)
}
}