0

だから私は数独パズルの数字を生成する関数を書こうとしています。これは、それがどのように見えるかです。

私は最後の行でちょっと迷っています... 1つの数字が1つの行と1つの列にしか表示されないかどうかを確認するにはどうすればよいですか?

void generator (int row, int col){

    for (int i=0; i<9; i++){
        int randNum= (1+rand()%9);
        for (int j=0; j<i; j++){
            A[i][j]=randNum;
            //check if one number only appears once. 
        }

    }
}
4

2 に答える 2

2

あなたはそれを完全に間違っています。

から始めて、ルールに従って数独を埋めるだけです1

有効な数独を取得したら、ランダム順列を使用して数字をランダムに切り替えます。

これは非常に複雑な問題であり (塗りつぶされたボードだけでなく、実際の数独生成を含める場合)、過小評価している可能性が高いことに注意してください。

于 2013-04-18T16:00:49.357 に答える