题目描述
在一个MC的战争地图中,一个要塞的地图为n*m
数字矩阵。
每格中有一个数字,表示该位置的海拔高度。
要塞的边缘一圈就是城墙,若要有效抵御敌人的入侵,需要对城墙进行检测与守卫,现在知道敌人无法逾越高度为 �k 的城墙,但因为连年战损,部分城墙需要修复,请你计算出有多少格城墙需求修复。
输入格式
第一行两个整数 n 和 m ,表示要塞的规模;
接下来 n 行,表示要塞的海拔地图;
第 n+2 行一个整数 k ,表示城墙的标准高度。
输出格式
一个整数 s ,表示需要修复的城墙的数量。
样例输入
5 6
5 5 5 5 5 5
5 2 6 9 7 6
5 5 6 8 4 5
5 3 1 3 2 8
9 2 2 2 2 5
5
样例输出
4
数据范围
对于 100%100% 的数据:1≤n,m,k≤1000 。
代码:
#include<bits/stdc++.h>
using namespace std;
int a[1007][1007];
int sum;
int main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
}
}
int h;
cin>>h;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(i==1||i==n||j==1||j==m){
if(a[i][j]<h){
sum++;
}
}
}
}
cout<<sum;
}