最速怪談選手権

うまく説明出来ないのですが、画像のような表を物を作りたいのですが、
私の頭では上手に作ることが出来ませんでした。
http://gazo.shitao.info/r/i/20150913181738_000.png

@n = qw(a b c d e f g);
@nの数は不明です。
奇数ならば選ばれない要素が一つあるはずです。
解はいくつかあると思いますが、そのうちの一つを得られればそれで解決します。

A 回答 (2件)

「ラテン方陣」ってやつ?



http://www.cut-the-knot.org/arithmetic/latin2.sh …
    • good
    • 0
この回答へのお礼

ありがとうございます。そのURLの一番下のやつが同じ表です。
規則性があったのですね。

自分で作ることができました。

お礼日時:2015/09/14 07:54

この表で何をしたいのですか?



単純に表を作るだけなら
1.二次元配列(あるいは、1次元のリストを 行番号 * n+列番号 で2次元配列あつかいしたもの)を用意する。
2. 行番号 == 列番号 は使用しない
3. 行番号 < 列番号に色番号を付ける
4. 3. の行と列を入れかえたところに、3.と同じ色番号を付ける


あとは、色にどんな制約条件があるか、によって色番号の作り方が変わります。

この図をからすると
「縦/横に同じ色は並ばない」
「色数は n-1」
でよろしいでしょうか?

それだと、
・1行/列目は順番に
・2列/ 行目は、該当マスの横/縦で使われてないものから選ぶ
を繰り返せば求められる気がします(検証はしていません)
    • good
    • 0
この回答へのお礼

ありがとうございます。
色はなんでもいいです。色と言うかリーグ表で言うと日程の重とかそんなのです。
(Aチームが同じ時間に他の試合をしてたらおかしいみたいな)。

>・1行/列目は順番に
>・2列/ 行目は、該当マスの横/縦で使われてないものから選ぶ
>を繰り返せば求められる気がします(検証はしていません)
そうですか。

私の予想だとたぶんですが、組み合わせはたぶん (N-1)!通りになって、
間違ってるかもしれませんが、その中で条件が満たされるのは N-1 通りなんじゃないかと、そんな気がするのです。
例えば @n が12なら、39 916 800 パターンのうち、正解の表は11種類しかない気がするのです。
(その11種類のうち、どれかは全く問いません)

したがって、組み合わせの数だけ再帰か何かをして先読みしなければならないと言うか。

書いていただけるのでしたから、
(可能であるならば)見るからに分かりやすい記述と、速い記述をお願いします。

お礼日時:2015/09/13 23:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!