大家好,我是bigbigli,前面一节我们一节讲过一维数组的模拟了,如果还没看的话,可以👉点击此处。模拟算法还有很多内容需要讲,比如图像、日期相关的模拟算法,后续将继续更新,今天先来讲一下普通的二维数组相关模拟题目。
目录
训练:外围元素之和
给定一个m行n列的矩阵,求矩阵外围元素之和。所谓矩阵外围的元素,是矩阵第一行、最后一行、第一列和最后一列的所有元素。
【输入描述】第1行:为两个整数,分别表示矩阵的行数m和列数n,中间以一个空格间隔;
接下来m行为该矩阵m行n列的元素,且都为整数,每一行元素之间以一个空格隔开。
【输出描述】一个整数,表示该矩阵外围元素之和。
【样例输入】
3 4
1 2 2 1
5 6 7 8
9 3 0 5
【样例输出】
36
解析
外围元素需要把两行两列的元素全部加起来就行,需要在二维数组的中查找到满足行是第一行或者最后一行的,以及列是第一列的和最后一列的元素,求和即可。要注意的是不可以单独求出两行和两列分别的四个行列和,然后再相加,那样会有重复元素。
参考代码
#include<iostream>
using namespace std;
int a[110][110];
int main(){
int m,n,sum