WZK旅游
题目大意
-
就是在一块地图上,有高度显示,但有两种景点情况:
第一:湖泊
湖泊必然是一块连通的并且高度都相同区域,并且,这个区域的高度比其周围部分的高度都要低 -
第二:山峰
山峰必然是是一块连通的并且高度都相同区域,并且,这个区域的高度比其周围部分的高度都要高 -
这里的周围指的是有边相邻的格子(对角的格子不算)
-
问求出湖泊个数和山峰个数.
输入样例
2 2
1 2
1 1
输出样例
1 1
解题思路
其实这道题就是一道BFS,枚举每个点,再枚举四周的高度,看是否符合题目的条件即可.
程序如下
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<queue>
#include<cstring>
using namespace std;
int n,m,a[1002][1002],t,sum,ans,r;
bool s[1002][1003];
const int dx[4]={
1,0,-1,0};
const int dy[4]={
0,1,0,-1};
struct node
{
int x,y;//结构体
};
int bfs(int x