计算矩阵边缘元素之和
题目描述
输入一个整数矩阵,计算位于矩阵边缘的元素之和。
所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。
输入格式
第 1 1 1 行包含两个整数,分别为行数 m m m 和列数 n n n,两个整数之间空格隔开。
第 2 2 2 行开始有 m m m 行数据,每行包含 n n n 个整数,整数之间空格隔开。
输出格式
对应矩阵的边缘元素和。
样例 #1
样例输入 #1
3 3
3 4 1
3 7 1
2 0 1
样例输出 #1
15
提示说明
1 ≤ m , n ≤ 100 1 \le m,n \le 100 1≤m,n≤100。保证答案在 int 范围内。
代码内容
// #include <iostream>
// #include <algorithm>
// #include <cstring>
// #include <stack>//栈
// #include <deque>//堆/优先队列
// #include <queue>//队列
// #include <map>//映射
// #include <unordered_map>//哈希表
// #include <vector>//容器,存数组的数,表数组的长度
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
ll m,n;
cin>>m>>n;
ll ans=0;
for(ll i=1;i<=m;i++)
for(ll j=1;j<=n;j++)
{
ll t;
cin>>t;
//判断是否为边界,先行后列,注意要用'||'隔开
if((i==1||i==m)||(j==1||j==n)) ans+=t;
}
cout<<ans<<endl;
return 0;
}