方法一,稍微会有残留
#include<bits/stdc++.h>
using namespace std;
int dx[]={-1,1,0,0};
int dy[]={0,0,-1,1};
int a[1002][1002],m,n;
bool vis[1050][1050];
bool vis1[1050][1050];
struct node{
int x,y;
};
queue<node>q;
void bfs(queue<node>q,bool vis[1050][1050]){
while(!q.empty()){
node tmp=q.front();
q.pop();
for(int i=0;i<4;i++){
int tx=tmp.x+dx[i];
int ty=tmp.y+dy[i];
if(tx<1||tx>n||ty<1||ty>m)continue;
if(vis[tx][ty])continue;
if(a[tx][ty]<a[tmp.x][tmp.y])continue;
vis[tx][ty]=true;
q.push(node{tx,ty});
}
int main(){
}