作者: Kaoru Kusunoki
日時: 2003/8/04(09:27)
>  2)ヒントでいくつか候補が考えられる。
>     例えば、「SMAP」というヒントがあって、
>      候補は、
>       なかいまさひろ
>       きむらたくや
>       いながきごろう
>       かとりしんご
>       じやにーず
>     とか考えられますのでこれを、辞書ファイルに入れておく。
>    (ファイル名は、edict)

皆様、こんにちは。

皆様のプログラムはよく考えて理解したいと思います。とりあえず、、

今回の場合、自分の場合はヒントからは「なんのこっちゃ?」というくらい
答えの候補が思い浮かびませんでした。ということで総当りで計算してみました。

今回書いた自分のプログラムだと、999999999 - 123456789 +1 = 876543211 とおり
で、全てユニークなのは、9! = 362880 なので、9!/ 876543211 * 100 % = 0.04%
で、計算機のパワーに依存する無駄の多い計算ですよね。

ちなみに、Pentium 4(HT) memory 512M WindowsXP win32 gawk grep (not cygwin) で
夜 9時に計算を始めたら朝の 8時には終わっていましたが、sun 220 solaris 2.6 
memory 1Gbyte A1000 付、マルチ CPU で、標準の nawk grep では、その日の昼から初めて
一晩たっても終わっていませんでした。。<-- 再試はしてませんが。

ということで、せめて最初の文字が何か見当がつくと、結果が早くなりそうと思い、H を最
初にしたところ最初の候補がすぐ出ました、すなわち、先頭の文字を変えて9種類で走らせ
たら早く候補がでるかもしれません。全て力技ですのでカッコは良くないので皆さんのプロ
グラムを勉強させていただきます。ちなみに計算機の答えは heavy rain  でした。ヒントは
Window washer でした。  http://www.asahi.com/puzzle/