博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
矩阵的局部极大值
阅读量:5917 次
发布时间:2019-06-19

本文共 920 字,大约阅读时间需要 3 分钟。

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

输入格式:

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

输出格式:

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

输入样例1:
4 51 1 1 1 11 3 9 3 11 5 3 5 11 1 1 1 1
输出样例1:
9 2 35 3 25 3 4
输入样例2:
3 51 1 1 1 19 3 9 9 11 5 3 5 1
输出样例2:
None 3 5

 

#include<stdio.h>

int main(){
  int n,m,count=0;
  scanf("%d %d",&n,&m);
  //int i=0,j=0;
  int num[n][m];
  for(int i=0;i<n;i++){ for(int j=0;j<m;j++){
      scanf("%d",&num[i][j]);
    }
  }
  //int k;
  for(int i=1;i<n-1;i++){
    for(int j=1;j<m-1;j++){
      //k=num[i][j];
      if(num[i][j]>num[i][j-1] && num[i][j]>num[i][j+1] && num[i][j]>num[i-1][j] && num[i][j]>num[i+1][j]){
        printf("%d %d %d\n",num[i][j],i+1,j+1);count++;
      }
    }
  }
  if(count==0){
    printf("None %d %d\n",n,m);
  }
  return 0;
}

ps:需要注意变量的作用域。

 

转载于:https://www.cnblogs.com/emochuanshuo/p/3918523.html

你可能感兴趣的文章
DOM inserBefore createElement
查看>>
DOM table添加删除
查看>>
[C++] Pen questions & linux cmd
查看>>
0503css基础:格式、位置、流式布局、层
查看>>
MySQL建表语句的一些特殊字段
查看>>
Android设置透明状态栏和透明导航栏
查看>>
iOS开发UI篇—CAlayer层的属性
查看>>
初识 Burp Suite
查看>>
Oracle 数据库隔离级别,特性,问题和解决方法
查看>>
EasyUI控件combobox重复请求后台,dialog窗口数据异常
查看>>
professional,我在路上。。。
查看>>
python图片小爬虫
查看>>
iphone-common-codes-ccteam源代码 CCAddressBook.h
查看>>
寫博客過程中遇到的問題
查看>>
linux内核驱动中_IO, _IOR, _IOW, _IOWR 宏的用法与解析
查看>>
2016秋季个人阅读计划
查看>>
寝室生活吐槽
查看>>
LeetCode 1.两数之和
查看>>
新博客开业啦
查看>>
GDB中打印pthread_internal_t的方法
查看>>