首页 > 其他分享 >淹没岛屿

淹没岛屿

时间:2023-02-18 11:58:49浏览次数:23  
标签:cnt ny 淹没 岛屿 int flag ans 1010

5
..###
##...
#.#..
.....
#####

4

0

#include<bits/stdc++.h>
using namespace std;

bool flag;
char a[1010][1010];
int cnt=0,ans=0,rans=0;
int n;
int dx[4]={1,-1,0,0},dy[4]={0,0,1,-1};

void dfs(int x,int y)
{
    if(a[x][y]!='#')
    return;
    if(x>=n||x<0||y>=n||y<0)
    return;
    if(!flag)
    {
        cnt=0;
        for(int i=0;i<4;i++)
        {
            int nx=x+dx[i];
            int ny=y+dy[i];
            if(nx<x&&nx>=0&&ny<y&&ny>=0&&a[nx][ny]!='.')
            {
                cnt++;
            }
        }
        if(cnt==4)
        {
            ans++;
            flag=true;
        }
    }
    a[x][y]='*';
    for(int i=0;i<4;i++)
    {
        int nx=x+dx[i];
        int ny=y+dy[i];
        dfs(nx,ny);
    }
}

int main()
{
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
    }
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
            if(a[i][j]=='#')
            {
                rans++;
                flag=false;
                dfs(i,j);
            }
        }
    }
    cout<<rans<<endl;//原来的岛屿 
    cout<<ans<<endl;//现在的岛屿 
    return 0;
}

 

标签:cnt,ny,淹没,岛屿,int,flag,ans,1010
From: https://www.cnblogs.com/weinan030416/p/17132252.html

相关文章

  • LeetCode 200_岛屿数量
    LeetCode200:岛屿数量题目给你一个由'1'(陆地)和'0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的......
  • 从 695. 岛屿的最大面积 入手深度优先搜素DFS
    一、什么是深度优先遍历(DFS)以“深度”为第一关键词,每次都沿路径到不能再前进时,才退回到最近的岔路口,然后继续按同样的逻辑搜索。 二、题目与解答题目: Leetcode695.......
  • 岛屿的周长
    岛屿的周长一、题目描述给定一个row*col的二维网格grid,其中:grid[i][j]=1时不表示陆地,grid[i][j]=0表示水域。网格中的格子水平方向相连,整个网格被水完全包围,但其中......
  • 力扣 leetcode 200. 岛屿数量
    问题描述给你一个由'1'(陆地)和'0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此......
  • 695. 岛屿的最大面积
    classSolution{public://bfs适合距离为1的情形;intn,m;intmaxAreaOfIsland(vector<vector<int>>&grid){intmaxArea=0;n=grid.......
  • 岛屿的最大面积
    目录题目描述解题思路解题代码题目描述题目地址:https://leetcode.cn/problems/max-area-of-island/题目要求给你一个大小为mxn的二进制矩阵grid。岛屿 是由......
  • DEM降雨淹没分析
    水深=降雨值第一次各处的DEM+降雨值(假设相同降雨)=新的DEM高程DEM->方向---->遍历一次(算法:原理:水往低处流)(先判断是否有水流动?)新的水深DEM+水深=高程新的方向---->遍历二次......
  • Astro和岛屿建筑
    Astro和岛屿建筑Photoby卢卡斯戴维斯on不飞溅又到了引入新JavaScript框架的时候了。今天是新的框架天文几周前在其第一个完整的1.0版本中发布。但是,是什么......