信息学奥赛一本通(c++):1121:计算矩阵边缘元素之和
一、题目
1121:计算矩阵边缘元素之和
时间限制: 1000 ms 内存限制: 65536 KB
【题目描述】
输入一个整数矩阵,计算位于矩阵边缘的元素之和。所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。
【输入】
第一行分别为矩阵的行数m和列数n(m<100,n<100),两者之间以一个空格分开。
接下来输入的m行数据中,每行包含n个整数,整数之间以一个空格分开。
【输出】
输出对应矩阵的边缘元素和。
【输入样例】
3 3 3 4 1 3 7 1 2 0 1
【输出样例】
15
二、思路
1.一层for循环先计算第一行和最后一行
2.一层for循环计算除第一行和最后一行的 中间部分的第一列和最后一列
三、代码
#include <iostream>
using namespace std;
int main()
{
int m,n;
int sum=0;
cin>>m>>n;
int a[m][n];
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
cin>>a[i][j];
}
}
for(int j=0;j<n;j++)
{
sum=sum+a[0][j]+a[m-1][j];
}
for(int i=1;i<m-1;i++)
{
sum=sum+a[i][0]+a[i][n-1];
}
cout<<sum;
return 0;
}