• ベストアンサー

タテヨコで数字の被らない二次元配列

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

質問者が選んだベストアンサー

  • ベストアンサー
  • salsberry
  • ベストアンサー率69% (495/711)
回答No.2

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

HisanaEXE
質問者

お礼

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

その他の回答 (2)

回答No.3

それって数独?

HisanaEXE
質問者

お礼

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

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.1

名前は知りませんが。 単に縦横被らないだけでいいなら、1文字づつずらせばいいです。 23541→35412→54123→41235→12354 逆方向でもいいですね。 余談ですが「8クイーン」と言うのが有ります。 チェスの盤を使って8個のクイーンを8×8の上で 縦横斜めに被らないように並べると言う遊び(パズル)です。 これを解くアルゴリズムを考えるのも結構面白いですよ。

HisanaEXE
質問者

お礼

ymmasayanさん 回答ありがとうございます! 色々な配列を作りたいので、もっとパターンが欲しいです。 8クイーン 面白そうです。 つまり全てのクイーンは他のクイーンを取れないということですね。 最終的に、全てのクイーンがそれぞれどこに動いても関係が崩れる、ようになるかが気になりますね。

関連するQ&A

専門家に質問してみよう