收藏
难度:一般
标签:暂无标签
题目描述
还是Archmager的题了,这次就没有那么多废话了,请大家构造 N*N 阶的拉丁方阵(2<=N<=9),使方阵中的每一行和每一列中数字1到N只出现一次。如N=4时: 1 2 3 4 2 3 4 1 3 4 1 2 4 1 2 3 这可是送分的题哦,抓紧把!!!
输入
输入n;
输出
输出对应的拉丁矩阵,每两个数字之间间隔一个空格,每输出n个数后换行。
样例输入复制
4
样例输出复制
1 2 3 4
2 3 4 1
3 4 1 2
4 1 2 3
def latin_square(n): matrix = [[0] * n for _ in range(n)] # 创建一个全为0的N*N矩阵 for i in range(n): for j in range(n): matrix[i][j] = (i + j) % n + 1 return matrix def print_matrix(matrix): for row in matrix: print(' '.join(map(str, row))) n = int(input()) matrix = latin_square(n) print_matrix(matrix)