Latin方:N个元素在N*N的矩阵中每一行每一列仅仅出现一次。
普通Latin方的构造:
int g[105][105];
void paint(int n){
for(int i=1;i<=n;i++){
g[1][i]=i;
}
for(int i=2;i<=n;i++){
for(int j=n;j>1;j--){
g[i][j]=g[i-1][j-1];
}
g[i][1]=g[i-1][n];
}
}
正交拉丁方:
设
,
是两个N阶拉丁方。同一位置上的数字配对后,有序数对全部互异。那么AB正交。
1,2,6阶的拉丁方是没有正交的。
4阶正交阵: