数独パズルを解決するためのブルート フォース アルゴリズムの実装は、 1 ~ 9 の数字のいずれかを配置することが不正な動きになるセルが発見された場合に失敗します。
実装は C で書かれており、ボードは 9x9 配列で表されます。ソルバーは、9 から正当な数に到達するまでカウントダウンし、到達できない場合は、代わりにゼロを出力します。
ゼロは、入力されるセルも表します。ゼロの文字列 (空のボード) が入力である場合の出力 (切り捨てられた) は次のとおりです。
9 8 7 6 5 4 3 2 1
6 5 4 9 8 7 0 0 0
最後の 3 つのゼロがあるのは、以前に入力された値が変更されていないためです。ソルバーがこのように失敗しないようにするにはどうすればよいですか?