蓝桥杯全球变暖那题,题号178 我这个代码为什么只能过一个点 检查好几遍了 又没有人看下

蓝桥杯全球变暖那题,题号178 我这个代码为什么只能过一个点 检查好几遍了 又没有人看下

#include 
using namespace std;
const int N=1010;
char mp[N][N];
bool vis[N][N]={0};
int dx[]={0,1,0,-1};
int dy[]={1,0,-1,0};
bool dfs(int x,int y){
    vis[x][y]=1;
    if(mp[x][y-1]=='#'&&mp[x][y+1]=='#'&&mp[x+1][y]=='#'&&mp[x-1][y]=='#')return false;
    for(int i=0;i<4;i++){
        int tx=x+dx[i];
        int ty=y+dy[i];
        if(mp[tx][ty]=='#'&&vis[tx][ty]==0){
            dfs(tx,ty);
        }
    }
    return true;
}
int main()
{
  // 请在此输入您的代码
  int n;
  cin>>n;
  int res=0; 
  for(int i=0;i>mp[i];
  for(int i=0;i0;j'#'&&vis[i][j]==0&&dfs(i,j))res++;
    }
    cout<0;
}