POJ 2676 Sudoku DFS

POJ 2676 Sudoku DFS

数独题 直接用的DFS 但是从前面搜会超时 要从后面搜 我不知道为什么 跟数据有关吗? MMD讲过做数独有种非常强大的方法 dancing links
现在还看不懂 也不会写 一步步来吧

POJ 上有很多数独题 以后慢慢切掉

int dfs(int x)
{
    if(x==-1) return 1;
    int i;
    if(a[x/n][x%n]!=0) return dfs(x-1);
    else
    {
        for(i=1;i<=n;i++)
        {
            a[x/n][x%n]=i;
            if(check(x/n,x%n))
                if(dfs(x-1)) return 1;
            a[x/n][x%n]=0;
        }
    }
    return 0;
}

你可能感兴趣的:(POJ 2676 Sudoku DFS)