0

这是我的主要递归函数,它似乎根本不起作用,并且具有比我预期的更奇怪的行为。我究竟做错了什么?PS 下面的函数是类的一部分。如果需要,将包括其余代码..

bool solve()
{

    if(isSolved()){return true;}

    for(int i=0; i<9; i++)
    {
        for(int j=0; j<9; j++)
        {
            if(grid[i][j] > 0)
            {
                continue;
            }


            for(int k=1; k<10; k++)
            {
                grid[i][j] = k;

                if(tryVal(i,j,k) == true && solve())
                {
                    return true;
                }

                grid[i][j] = 0;

            }
        }
    }
    return false;
}
4

0 回答 0