朝日新聞2005年10月7日のパズル横丁問題

問題

団子が以下のように串に刺さっている。各団子には1〜9までの数が書いてある。

串に刺さった団子の合計数字が全て等しくなるには,どのように番号を振れば良いか。

解答への道(ヒント)

丸の位置にa〜iの文字を割り当て1〜9の数字を虱潰す。数字の割り当て問題をコピーして利用する。

ループの中で以下のような判定文を書けば終了。

                    int x[] = { a+b+c,
                                d+e+f,
                                g+h,
                                a+d+g,
                                b+e,
                                c+f+h,
                                a+i+e,
                                c+e+g};
                    int n = sizeof(x)/sizeof(x[0]);
                    YesNo eq = YES;
                    for( int k=1; k< n; k++) {
                      if( x[0] != x[k]) { eq = NO; break; }
                    }
                    if( eq) {
                      見つかった
                    }

答えは1件出力されました。

解速度