すべての行と列が個別に要素がペアごとに異なるという特性を持つように、1からKまでの範囲の整数のNxN行列をランダムに生成する必要があります。
たとえば、N=2およびK=3の場合
これで結構です:
1 2
2 1
これではありません:
1 3
1 2
(K <Nの場合、これは不可能であることに注意してください)
KがNよりも十分に大きい場合、1..K整数のランダム行列を生成するだけの効率的なアルゴリズムがあります。各行と各列がペアごとに異なることを確認し、再試行しない場合は。
しかし、KがNよりもそれほど大きくない場合はどうでしょうか。