• 数组-09. 求矩阵的局部极大值


    数组-09. 求矩阵的局部极大值(15)

    时间限制
    400 ms
    内存限制
    65536 kB
    代码长度限制
    8000 B
    判题程序
    Standard
    作者
    徐镜春(浙江大学)

    给定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 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
     1 #include<stdio.h>
     2 #include<math.h>
     3 #include<stdlib.h>
     4 #include<string.h>
     5 int main()
     6 {
     7     int m, n, i, j, a[25][25], flag = 1;
     8     scanf("%d%d", &m, &n);
     9     for(i = 1; i <= m; i++)
    10         for(j = 1; j <= n; j++)
    11             scanf("%d", &a[i][j]);
    12     for(i = 2; i < m; i++)
    13         for(j = 2; j < n; j++)
    14             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])
    15             {
    16                 printf("%d %d %d
    ", a[i][j], i, j);
    17                 flag = 0;
    18             }
    19     if(flag)
    20         printf("None %d %d
    ", m, n);
    21     return 0;
    22 }
  • 相关阅读:
    swift -- 静态变量static
    swift -- 单例+ lazy懒加载 + 第三方库
    swift -- 代理delegate
    swift -- 闭包
    swift -- 构造/析构函数
    swift -- 继承
    swift -- as / 扩展
    swift -- 类中的方法
    swift -- 类和结构体
    C 扩展库
  • 原文地址:https://www.cnblogs.com/yomman/p/4237782.html
Copyright © 2020-2023  润新知