纯暴力
2024-08-05 17:08:08
发布于:广东
0阅读
0回复
0点赞
思路:先求数组行、列为0或m、n-1的地方的值的和,然后减去4个角,最后如果是1列或1行的就直接整个数组求和
话不多说看代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int m,n,sum=0;
cin>>m>>n;
int arr[m][n];
for(int i=0;i<m;i++){
for(int j=0;j<n;j++)
cin>>arr[i][j];
}
if(n>1&&m>1){
for(int i=0;i<m;i++)
sum+=arr[i][0];
for(int i=0;i<m;i++)
sum+=arr[i][n-1];
for(int i=0;i<n;i++)
sum+=arr[0][i];
for(int i=0;i<n;i++)
sum+=arr[m-1][i];
//减去四个角
sum-=arr[0][0];
sum-=arr[m-1][n-1];
sum-=arr[0][n-1];
sum-=arr[m-1][0];}
else{
//防特殊情况 行列为1时
for(int i=0;i<m;i++){
for(int j=0;j<n;j++)
sum+=arr[i][j];
}
}
cout<<sum;
}
这里空空如也
有帮助,赞一个