プロが教えるわが家の防犯対策術!

23541
32415
14352
45123
51234

のように、タテヨコで数字の被らないN×Nの二次元配列を作成するためには、
どのようなアルゴリズムを考えればよいでしょうか?
またこのような配列の名称はありますか?

どなたかお願いします。

A 回答 (3件)

「ラテン方陣」または「ラテン方格」でググってください。

    • good
    • 0
この回答へのお礼

どんなラテン方格も行、または列を交換することで標準形にすることができる。
ということは、
適当なラテン方格を作り、ランダムに行や列を交換していけば全てのパターンを作れるという事ですよね?

お礼日時:2011/05/22 20:54

それって数独?

    • good
    • 0
この回答へのお礼

数独にも発展させてみたいですが、今のところ別のパズルゲームを作成しようとしています。

お礼日時:2011/05/22 20:55

名前は知りませんが。


単に縦横被らないだけでいいなら、1文字づつずらせばいいです。
23541→35412→54123→41235→12354
逆方向でもいいですね。

余談ですが「8クイーン」と言うのが有ります。
チェスの盤を使って8個のクイーンを8×8の上で
縦横斜めに被らないように並べると言う遊び(パズル)です。
これを解くアルゴリズムを考えるのも結構面白いですよ。
    • good
    • 0
この回答へのお礼

ymmasayanさん
回答ありがとうございます!
色々な配列を作りたいので、もっとパターンが欲しいです。

8クイーン
面白そうです。
つまり全てのクイーンは他のクイーンを取れないということですね。
最終的に、全てのクイーンがそれぞれどこに動いても関係が崩れる、ようになるかが気になりますね。

お礼日時:2011/05/22 20:50

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