いくつかの文字列をあるルールに従って並べて書き出すスクリプトです。
作っていただけた方には少ないですが500ポイントを差し上げます。
具体的には、いくつかの文字の組み合わせで出来た文字列を与え、各行の文字数を決めると「下の文字列はすぐ上の文字列に1文字加えたものか、1文字減らしたものしか置けない」「各文字列は一度しか使えない」というルールにしたがって文字列を並べてくれるというものです。(ルールを満たす並べ方が複数ある場合はすべて書き出し、不可能な場合はエラーを返す)
例えばa,b,c3文字の組み合わせで出来た文字列、a,b,c,ab,bc,ac,abcを与え、各行の文字数を(1,2,1,2,1,2,3)と決めると、
a
ab
b
bc
c
ac
abc
等(実際は他にもあります)の結果を書き出してくれるスクリプトです。この例は3文字で出来た7つの文字列でしたが、文字数や文字列数が増えても対応出来るものを希望します。
説明に解りにくい部分があれば質問してください。
また、以前よく似た質問をしましたのでそちらも参考にしてください。
http://q.hatena.ne.jp/1207875536
よろしくお願いします。
http://jsdo.it/TransFreeBSD/2ZDS
コメント少なめ&ちょっと適当な感じですが。
あと、基本的なふるい分け後は全探査的なので、特に文字種が増えると時間食うかも知れません。
ところで、なんに使うんでしょう?
文字数の順番分かってる時点で正解分かってる気がするんですが。
http://jsdo.it/TransFreeBSD/2ZDS
コメント少なめ&ちょっと適当な感じですが。
あと、基本的なふるい分け後は全探査的なので、特に文字種が増えると時間食うかも知れません。
ところで、なんに使うんでしょう?
文字数の順番分かってる時点で正解分かってる気がするんですが。
変えてみました。
素早く対応していただきありがとうございます。
6個解がああるもの→6個
144個の解があるもの2種→2種とも144個
60360個の解があるもの→60360個
すべて書き出されました。
本当にありがとうございました。
ポイントをお送りさせていただきます。
最適化や値チェックもしてませんし、バグがあるかもしれないですがとりあえず
時間があれば多少修正します
不満な点があれば教えて下さい
短縮URL [ll.la] 9g6m
ついでに動かすブラウザも教えていただけるとより良く書けます
はい、この質問の例にさせていただきました組み合せ、boaoaさんのスクリプトにも書いていただいている組み合せですね。これは解が6個あります。これにつきまして書き出された解が4個でした。
ああ、なるほど、真ん中に追加する場合があるのを忘れておりました。
お役に立てなくて申し訳ないですが私の良い勉強にすることがなできました。
どうもありがとうございました。
変えてみました。
2012/05/08 22:01:14素早く対応していただきありがとうございます。
2012/05/09 04:02:066個解がああるもの→6個
144個の解があるもの2種→2種とも144個
60360個の解があるもの→60360個
すべて書き出されました。
本当にありがとうございました。
ポイントをお送りさせていただきます。