>Link
ybtoj山峰与山谷
>解题思路
BFS总体思路:对于每一个没有搜到过的点进行bfs,把遇到的四周相同高度的点加入队列,遇到不同的,用两个变量记录周围高的和低的的个数。最后如果周围没有高的,说明此区域是山峰,如果周围没有低的,说明是山谷,否则什么也不是(这样子处理更加方便)
这里有一个小细节(又是zzl巨爷帮我改的),如果搜索过的在后面的bfs中就不用加入队列的,不然会tle
>代码
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define N 2010
using namespace std;
const int xx[8] = {
-1, -1, -1, 0, 0, 1, 1, 1}, yy[8] = {
-1, 0, 1, -1, 1, -1, 0, 1};
int n, a

使用BFS算法来解决山峰与山谷的问题。通过遍历每个未搜索过的点,将相邻相同高度的点加入队列,并计数周围高点和低点的数量。若周围无高点则为山峰,无低点则为山谷。注意已搜索过的点在后续BFS中不再加入队列,避免超时。
最低0.47元/天 解锁文章
713

被折叠的 条评论
为什么被折叠?



