|
山中和義さんへのお返事です。
プログラムありがとうございます。
バックトラック法という名前をよく見ますがいまいちよくこれでうまく探すことができるのか不思議です。
> EXTERNAL SUB try(K,N,F(), A()) !バックトラック法で検索する
奇数では存在しなかったので安心しました。(でもどうしてだろう?)
偶数では必ず構成できることも不思議です。
話は変わりますが、1~nのカードが2枚ずつあるとき
3,1,2,1,3,2
と並べると
1と1のカードの間に1枚
2と2のカードの間に2枚
3と3のカードの間に3枚
というある意味バランスが整った並びができる。
4,1,3,1,2,4,3,2
も同様な配列となっている。
ところが
2,3,5,2,4,3,1,1,5,4 (1が反する)
1,4,1,5,3,2,4,2,3,5 (2が反する)
1,4,1,5,3,2,4,3,2,5 (3が反する)
のあと一歩までは近づくが完成には至らない。
1,6,1,5,2,4,2,3,6,5,4,3(2が反する)
1,6,1,3,5,2,4,3,2,6,5,4(6が反する)
も同様に後一歩
これ以降も存在しないかと思いきや
1,7,1,2,5,6,2,3,4,7,5,3,6,4
はバッチリ配列できた。
そこで1~5,1~6 では本当に不可能なのか、また可能ならnはどんなもので具体的並びはどうか?
が知りたくなりました。
これに対応できるプログラムを作って欲しいです。
|
|