1359: 【入门】靶心数

内存限制:16 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:14 解决:6

题目描述

James同学发现了在二维数组中有这样一类数,这个数正好比自己上下左右四个方向的数都大(由于需要比四个方向的数都大,因此这个数不可能在第一行、最后一行、第一列、最后一列),James把它们称为靶心数,请你编程求出一个二维数组的靶心数有哪些,输出他们。

输入

第一行是两个整数n和m(n和m都是4~100之间的整数),代表接下来的二维数组有n行m列。
接下来n行,每行有m个整数。

输出

请按照输入的顺序输出满足条件的靶心数,每行1个。

样例输入 复制

4 4
1 2 3 4
5 6 5 8
9 1 11 10
13 4 5 16

样例输出 复制

6
11

提示

#include<bits/stdc++.h>
using namespace std;

int a[110][110],n,m;

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=2;i<=n-1;i++) {
    	for (int j=2;j<=m-1;j++) {
    		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])
    		    cout<<a[i][j]<<endl;
		}
	}	
	
	return 0;
}