题目描述
输入一个整数矩阵,计算位于矩阵边缘的元素之和。所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。
提示
输入输出格式
输入格式
第一行分别为矩阵的行数m和列数n(m≤100,n≤100),两者之间以一个空格分开。
接下来输入的m行数据中,每行包含n个整数,整数之间以一个空格分开。
输出格式
输出对应矩阵的边缘元素和。
输入输出样例
输入
3 3
3 4 1
3 7 1
2 0 1
输出
15
m, n = map(int, input().split()) # 读取矩阵的行数和列数
matrix = [] # 存储矩阵数据
# 逐行读取矩阵数据
for _ in range(m):
row = []
while len(row) < n: # 当前行还未达到指定的列数
elements = list(map(int, input().split())) # 读取一行的元素并转换为整数列表
row.extend(elements) # 将元素添加到当前行
matrix.append(row[:n]) # 将当前行的前n个元素添加到矩阵
# 计算矩阵边缘元素之和
sum_of_edges = 0
# 如果矩阵只有一个数,则该数即为边缘元素,直接将其加入和中
if m == 1 and n == 1:
sum_of_edges = matrix[0][0]
else:
sum_of_edges += sum(matrix[0]) + sum(matrix[-1]) # 第一行和最后一行的元素之和
for i in range(1, m-1):
sum_of_edges += matrix[i][0] + matrix[i][-1] # 第一列和最后一列的元素之和
print(sum_of_edges) # 输出矩阵边缘元素之和
331

被折叠的 条评论
为什么被折叠?



