プロローグでブロックのすべての要素を取得する方法は? 私のコードではサイズが動的に変化する可能性があるため、ブロックサイズは異なります。4x4 = 4 要素、9x9 = 9 要素などです。ブロックは正方形にカットされるため、4x4 では水平方向の長さは round(sqrt(4))= 2 で、垂直方向はブロックの長さは round(sqrt(4)) = 2. および 9x9 ... sqrt(9).. なので、ブロックの高さと幅は 3 です。要素を効率的に取得するためのアルゴリズムが必要です。
私のsudokulistsはこのように構築されています:
L=[ [4,3,1,2], [2,1,4,3], [3,4,2,1], [1,2,3,4] ],
数独の行のリストを含むリストです。行と列のチェックは問題ありません。 -> 行の all_different チェック、リスト全体の転置、転置されたリストの all_different チェック。
しかし、数独の動的サイズのため、ブロックの修正コードをコーディングできません。誰かアイデアはありますか?flatten(L) とオフセットを使用して正しいブロックを取得することを考えましたが、この方法でそれを行うのはかなり難しいようですか?
私を助けてください!