酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

7-7 矩阵列平移 分数 20 作者 陈越 单位 浙江大学 给定一个 n×n 的整数矩阵。对任一给定的正整数 k<n,我们将矩阵的偶数列的元素整体向下依次平移 1、……、k、1、……、k、…… 个位置,平移空出的位置用整数 x 补。你需要计算出结果矩阵的每一行元素的和。 输入格式: 输入第一行给出 3 个正整数:n(<100)、k(<n)、x(<100),分别如题面所述。 接下来 n 行,每行给出 n 个不超过 100 的正整数,为矩阵元素的值。数字间以空格分隔。 输出格式: 在一行中输出平移后第 1 到 n 行元素的和。数字间以 1 个空格分隔,行首尾不得有多余空格。

以下是使用 Python 解决此问题的代码: ```python def matrix_shift(n, k, x, matrix): new_matrix = [[0] * n for _ in range(n)] for j in range(n): if j % 2 == 0: # 偶数列 shift = (j // 2) % k + 1 for i in range(n - shift): new_matrix[i + shift][j] = matrix[i][j] for i in range(shift): new_matrix[i][j] = x else: # 奇数列 for i in range(n): new_matrix[i][j] = matrix[i][j] row_sums = [sum(row) for row in new_matrix] return row_sums n, k, x = map(int, input().split()) matrix = [] for _ in range(n): matrix.append(list(map(int, input().split()))) result = matrix_shift(n, k, x, matrix) print(" ".join(str(sum) for sum in result)) ``` 这段代码首先定义了一个函数`matrix_shift`来实现矩阵列的平移操作,然后通过输入获取矩阵的相关信息,调用函数进行处理,并输出每行元素的和。 [2024-11-09 20:40:39 | AI写代码神器 | 285点数解答]

相关提问