逐行配对两个同形矩阵的元素,计算并输出对应位置的和。
OJ: noi_openjudge
题目 ID: ch0108-08
难度:入门
标签:矩阵模拟python
日期: 2026-07-30 23:01
题意
计算两个同为
思路
保存第一个矩阵后,读取第二个矩阵的每行并与对应行 zip,对每对元素相加后立刻输出。
代码
cpp
#include <cstdio>
int n,m;
int a[200][200];
int b[200][200];
int main(){
int i,j;
scanf("%d%d",&n,&m);
for (i=1;i<=n;i++){
for (j=1;j<=m;j++){
scanf("%d",&a[i][j]);
}
}
for (i=1;i<=n;i++){
for (j=1;j<=m;j++){
scanf("%d",&b[i][j]);
}
}
for (i=1;i<=n;i++){
for (j=1;j<=m;j++){
a[i][j] +=b[i][j];
printf("%d ",a[i][j]);
}
printf("\n");
}
return 0;
}复杂度
总结
Python代码
python
row_count, column_count = map(int, input().split())
first = [list(map(int, input().split())) for _ in range(row_count)]
for row in first:
second_row = map(int, input().split())
print(*(left + right for left, right in zip(row, second_row)))C++代码
cpp
#include <cstdio>
int n,m;
int a[200][200];
int b[200][200];
int main(){
int i,j;
scanf("%d%d",&n,&m);
for (i=1;i<=n;i++){
for (j=1;j<=m;j++){
scanf("%d",&a[i][j]);
}
}
for (i=1;i<=n;i++){
for (j=1;j<=m;j++){
scanf("%d",&b[i][j]);
}
}
for (i=1;i<=n;i++){
for (j=1;j<=m;j++){
a[i][j] +=b[i][j];
printf("%d ",a[i][j]);
}
printf("\n");
}
return 0;
}复杂度
时间复杂度为
总结
同形矩阵运算的核心是对应位置配对。