计算矩阵边缘元素之和(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;
}
相关推荐
find1star10 分钟前
LeetCode 25:K 个一组翻转链表
java·数据结构·算法·leetcode·链表·职场和发展·动态规划
光电笑映27 分钟前
Linux 线程同步与互斥:锁的本质、条件变量与信号量的底层原理
linux·运维·服务器·开发语言·c++
jearry38 分钟前
WebView2 原生拖放的桥接之道:拆解 yyzTools 的 drop-zone.js
前端·c++
零基础的修炼1 小时前
CUDA知识汇总
开发语言·c++·编辑器
欧特克_Glodon1 小时前
OpenCV计算机视觉开发入门与实践<三十八>:图像添加数字水印
c++·人工智能·opencv·计算机视觉
Bmob后端云1 小时前
Bmob后端云实战|Python给备忘录接入AI摘要、文本润色功能
算法·github
小鱼干..1 小时前
CTFHub技能树-ssrf-URL Bypass
算法
蒸蒸yyyyzwd1 小时前
与Redis和MySQL有关的知识
c++·求职招聘·八股
欧特克_Glodon1 小时前
OpenCV计算机视觉开发入门与实践<四十>:自动识别物体数量
c++·人工智能·opencv·计算机视觉
chushiyunen1 小时前
动态规划、贪心算法、分治法
算法·贪心算法·动态规划