计算矩阵边缘元素之和(c++)

题目描述

输入一个整数矩阵,计算位于矩阵边缘的元素之和。所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。

输入格式

第一行分别为矩阵的行数 和列数 (m<100,n<100),两者之间以一个空格分开。

接下来输入的 行数据中,每行包含 个整数,整数之间以一个空格分开。

输出格式

输出对应矩阵的边缘元素和。

样例

样例输入
复制代码
复制3 3
3 4 1
3 7 1
2 0 1

样例输出

复制代码
复制15

日常发作业题解。

写作不易,点个赞呗!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int a[10005][10005],n,m,ans;
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin>>a[i][j];
		}
	} 
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			if(i==1||j==1||i==n||j==m){
				ans+=a[i][j];
			}	
		}
	} 
	cout<<ans;
}

太繁琐了所以可以优化;

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int a[10005][10005],n,m,ans;
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
            cin>>a[i][j];
			if(i==1||j==1||i==n||j==m){
				ans+=a[i][j];
			}	
		}
	} 
	cout<<ans;
}
相关推荐
H_z___14 分钟前
Codeforces Round 1070 (Div. 2) A~D F
数据结构·算法
晨尘光30 分钟前
【Windows 下FlatBuffers 编译.fbs文件并应用】
c++·windows
自学小白菜36 分钟前
每周刷题 - 第三周 - 双指针专题 - 02
python·算法·leetcode
杜子不疼.1 小时前
【LeetCode76_滑动窗口】最小覆盖子串问题
算法·哈希算法
煤球王子1 小时前
学而时习之:C++中的文件处理2
c++
ComputerInBook1 小时前
代数基本概念理解——特征向量和特征值
人工智能·算法·机器学习·线性变换·特征值·特征向量
不能只会打代码1 小时前
力扣--3433. 统计用户被提及情况
java·算法·leetcode·力扣
fakerth1 小时前
【OpenHarmony】设计模式模块详解
c++·单例模式·设计模式·openharmony
biter down2 小时前
C++ 解决海量数据 TopK 问题:小根堆高效解法
c++·算法
用户6600676685392 小时前
斐波那契数列:从递归到缓存优化的极致拆解
前端·javascript·算法