我想在以下条件下获得2D数组的排列。
矩阵的n个元素的长度和宽度相同。
每个元素的值可以为1或0。
第i行和第i列的值必须为0。其他值可以为0或1。
如果i代表行号,j代表列号。矩阵[i,j]和矩阵[j,i]可以是一个值是0,另一个是1,或者两者都是0。例如,对于矩阵[1,2]和矩阵[2,1]。组合的可能性只有三种。
矩阵[1,2] = 0,矩阵[2,1] = 0
矩阵[1,2] = 0,矩阵[2,1] = 1
矩阵[1,2] = 1,矩阵[2,1] = 0
如果n = 3,则应具有以下组合。
0 0 0
0 0 0
0 0 0
0 1 0
0 0 0
0 0 0
0 1 1
0 0 0
0 0 0
0 1 1
0 0 1
0 0 0
0 0 0
1 0 0
0 0 0
0 0 0
1 0 0
1 0 0
0 0 0
1 0 0
1 1 0
0 0 0
1 0 0
1 1 0
0 0 1
1 0 0
0 1 0
0 1 0
0 0 0
1 1 0
0 0 0
1 0 1
1 0 0
0 1 0
0 0 1
1 0 0
如何编写代码以获取此n大小矩阵的排列? 无需显示结果,只需排列即可。