首页 > 其他分享 >实验7-2-3 求矩阵的局部极大值

实验7-2-3 求矩阵的局部极大值

时间:2024-07-29 09:27:56浏览次数:9  
标签:输出 int 样例 局部 矩阵 极大值

给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵的局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。

输入格式:

输入在第一行中给出矩阵A的行数M和列数N(3≤M,N≤20);最后M行,每行给出A在该行的N个元素的值。数字间以空格分隔。

输出格式:

每行按照“元素值 行号 列号”的格式输出一个局部极大值,其中行、列编号从1开始。要求按照行号递增输出;若同行有超过1个局部极大值,则该行按列号递增输出。若没有局部极大值,则输出“None 总行数 总列数”。

输入样例1:

4 5
1 1 1 1 1
1 3 9 3 1
1 5 3 5 1
1 1 1 1 1

输出样例1:

9 2 3
5 3 2
5 3 4

输入样例2:

3 5
1 1 1 1 1
9 3 9 9 1
1 5 3 5 1

输出样例2:

None 3 5

代码实现

#include<stdio.h>
#define MAXN 20
int main(){
	
	int a[MAXN][MAXN];
	int m,n,i,j,sum,flag;
	scanf("%d%d",&m,&n);
	
	for(i=0;i<m;i++)
		for(j=0;j<n;j++)
			scanf("%d",&a[i][j]);
	flag=0;//初始没有局部极大值 
	for(i=0;i<m;i++){
		if(i==0||i==m-1)//跳过第一行和最后一行 
			continue;
		
		for(j=0;j<n;j++){
			if(j==0||j==n-1)//跳过第一列和最后一列 
				continue;
			
			if(a[i][j]>a[i-1][j]&&a[i][j]>a[i+1][j]&&a[i][j]>a[i][j-1]&&a[i][j]>a[i][j+1]){
				flag=1;
				//因题目要求,行号和列号从1开始,输出时i和j要加1 
				printf("%d %d %d\n",a[i][j],i+1,j+1) ;
			}
		}
	}
	if(!flag)
		printf("None %d %d",m,n);
	
	
	return 0;
}

标签:输出,int,样例,局部,矩阵,极大值
From: https://blog.csdn.net/qq_33811080/article/details/140762515

相关文章

  • 函数有时指局部变量,有时指全局变量
    我正在尝试从给定的输入变量创建一个字典。我遇到了一个非常奇怪的行为,所以我开始调查。我最终得出的结论是该函数有时引用局部变量,并且有时会搜索同名的全局变量。更具体地说:当我在循环中创建字典时,它指的是全局变量它指的是本地......
  • 矩阵乘法
    OI中的主要应用在于加速计算线性递推式。举例来自OI-wiki。通常使用二维数组模拟矩阵。矩阵乘法的一个前提是两个矩阵中存在一个的行数等于另一个的列数的情况,因此在处理非正方形时的矩阵乘法时要注意循环顺序对应的行与列。通常将二维数组封到一个结构体内,定义如下:struct......
  • 矩阵
    矩阵高斯消元没啥好说的,直接上代码:#include<iostream>#include<cstdio>#include<cmath>usingnamespacestd;doublea[105][105];intmain(){intn;cin>>n;for(inti=1;i<=n;i++)for(intj=1;j<=n+1;j++)......
  • 内存空间的布局以及全局变量和局部变量
    在这里先了解两个概念:作用域和生命周期——      作用域:定义了变量或函数的可访问性。它决定了在代码中的哪个部分可以访问到特定的变量或函数。      生命周期:生命周期指的是变量或对象从创建到销毁的过程。      现在我们可以学习全局......
  • 可逆矩阵的概念、定理、判断条件和性质(线性代数基础)
    可逆矩阵的概念、定理、判断条件和性质可逆矩阵的概念定义:设AAA为n......
  • 题解 - 矩阵
    题目描述小明和小花知道学信息学竞赛的学生特别擅长做一些和矩阵相关的问题。例如,同学经常做的一个题目,给你一个N×M的矩阵,矩阵里面每个格子上都有一个数,要从左上角(1,1),走到右下角(N,M),每一步只能往下或者往右走,让你求经过的路径上数的总和最小。小明和小花发现这个......
  • 【图像融合】基于联合双边滤波和局部梯度能量的多模态医学图像融合研究(Matlab代码实现
     ......
  • 【图像融合】基于联合双边滤波和局部梯度能量的多模态医学图像融合研究(Matlab代码实现
     ......
  • Midjourney入门-局部重绘详解与具体操作
    局部重绘是Midjourney一个非常实用的功能。通过局部重绘你可以对Midjourney生成的图片进行二次修改,达到控图改图的效果。接下来我们讲下操作step1-图片生成先生成一组图片,并挑选一张step2-认识三种重绘功能在生成的图片底下有三个按钮:Vary(Subtle)-变化(微妙)通......
  • 如何比较两个大的温度矩阵数据集并对差异/相似之处进行分类?我如何继续寻找好的方法?
    我有以下问题:我想在python中比较热图像(数据以一个大矩阵/每个像素一个值的形式出现)并了解它们的不同。哪些统计方法是相关的?我如何继续找到一个好的测试?在python中比较矩阵/图片的其他方法是什么?我有一些数据集,并且知道其中一些数据应该被测试视为不同的,而有些数据应该被......