◆使い方
書式は、左数字・1行空き・上数字の順で。
つまり例えば
| | | 1 | 1 | 1 | |
| | 3 | 1 | 1 | 1 | 3 |
| 1 | ■ | ■ | ■ | ■ | ■ |
1 | 1 | | | | | |
1 | 1 | | | | | |
| 5 | | | | | |
1 | 1 | | | | | |
なら、
1
1 1
1 1
5
1 1
3
1 1
1 1
1 1
3
|
となります。
また、一部のマスが既に決定している場合は、「不明」「白確定」「黒確定」を順に「
.」「
-」「
@」として並べたものを1行空けた後に書いてください。
つまり、
| | | 1 | 1 | 1 | |
| | 3 | 1 | 1 | 1 | 3 |
| 1 | ■ | ■ | ■ | ■ | ■ |
1 | 1 | | | | | |
1 | 1 | | × | × | × | |
| 5 | | | | | |
1 | 1 | | | | | |
なら、
1
1 1
1 1
5
1 1
3
1 1
1 1
1 1
3
.....
.....
.---.
.@@@.
.....
|
となります。
◆設定項目
「難度」は、どれだけ複雑なパターンを解けるかの指標です。
詳しいことを言うと、内部で列ごとに起こり得るパターン全てを毎回生成している(すごく無駄)のですが、ここで生成するパターン数の上限です。
これが低いとスカスカな列は無視されます。高くするとそのような列も使うようになりますが、かかる時間が急激に増えます。
CeleronDualCore2GHz、Firefox3.5で1万くらいで警告が出ました。10万だと数分はかかるかもしれません。
「繰り返し数」は、一通り列をチェックしてからまた最初からチェックし直す、その回数です。
10回もあれば大抵の問題が解けるようです。
こちらは単純に、回数とかかる時間は比例します。たぶん。
◆性能について
このプログラムで解ける問題は単純な定石で解けるもののみで、黒マスの仮定やそれに類する上級の定石が必要なものは無理です。
初心者向けなら大抵解けますが、パズル本の懸賞問題のような難問はたぶん無理です。
また、このプログラムはは尋常じゃなく無駄が多いです。
そのため、マス目が多くなると無駄に大量のパターンを生成するために時間がかかります。
実用的なのは30×30程度、1日つけっぱなしにすれば50×50くらいまではいけるかなと思います。
◆今後の予定
無駄をなくす(重要度 : 低)
入力を洗練する(重要度 : 低)
出力を洗練する(重要度 : 非常に低)
難問に対応する(重要度 : 凄まじく低)
◆ライセンス的なアレ
権利放棄、義務も放棄。
なお、エラー処理の類はほとんどしていませんので、変な入力を入れると何が起こるか分かりません。
というより、まともな入力を入れても何が起こるか保証しません。いわゆるAS ISってやつです。
2009.8/5
[▲解説を閉じる▲]