タグ「C」が付けられているもの

数独をバックトラックで解く3

ちょっと納得してなかったので、、、
特に

    /* 次の座標に何の値が入るか調べる */
    int check_number;
    for(check_number = 1; check_number <= GOBAN_N;) {
        /* 再帰させる */
        if(getans(ix, iy, check_number, konkai) == 0) {
            /* 正解が見つかったとき */
            return 0;
        }
        check_number++;
    }
この辺りが。
すっきりしないというか、2カ所でforループ使いたくねぇみたいな。。。


数独をバックトラックで解く

今日ふと思いついたので、数独をバックトラックで解いてみようかと。
ま、通常ルールの数独なら9x9マスですから、1面は基本81マス。1マスが4バイト(32ビットint値)としても324バイトで局面を保存できるので、ま、バックトラックで問題なく処理できるかなと。

ま、単なる思いつきなんですが。