int check(参数){
    if(满足条件)
        return 1;
    return 0;
}
void DFS(int step){
    判断边界{
        相应操作
    }
    尝试每一种可能{
        满足check条件
        标记
        继续下一步 DFS(step + 1)
        恢复初始状态(回溯的时候要用到)
    }
}原文:https://www.cnblogs.com/zjsaipplp/p/12253276.html