void dfs(int step){
if(到达目的地){输出解;return;}
剪枝操作
for(int i=0;i<枚举值;i++){
if(满足条件){
更新状态;
dfs(step+1);
恢复状态;
}
}
}
void dfs(int step){
if(到达目的地){输出解;return;}
剪枝操作
for(int i=0;i<枚举值;i++){
if(满足条件){
更新状态;
dfs(step+1);
恢复状态;
}
}
}