𨐶

int dfs(int k)
{
    if(所有空已经填完了) {
        判断最优解/记录答案;
        return;
    }
    for(枚举这个空能填的选项)
    {
        if(满足要求())
        {
            记录现场();
            dfs(k+1);
            还原现场();
        }
    }
}