• ecna2017-Sheba’s Amoebas


    很简单的深搜的一道题,由于这道题要找环的个数,并且认为相连当一个点的8个方向种中有一个方向和这个点相连。

    这个题做法无非就是暴力每个点,然后满足条件的深搜即可。

    感觉我自己的代码写的很无趣,大佬的代码都是没用vis数组判断,满足条件#的直接变成。即可

    #include<bits/stdc++.h>
    using namespace std;
    char mmp[150][150];
    int n,m,ans=0;
    int to[8][2]= {{0,1},{0,-1},{1,0},{-1,0},{1,1},{-1,-1},{1,-1},{-1,1}};
    bool judge(int x,int y)
    {
        if(x<0||y<0||x>=n||y>=m||mmp[x][y]=='.')
            return 0;
        return 1;
    }
    void dfs(int x,int y)
    {
        mmp[x][y]='.';
        for(int i=0; i<8; i++)
        {
            int tx=x+to[i][0];
            int ty=y+to[i][1];
            if(judge(tx,ty))
                dfs(tx,ty);
        }
    }
    int main()
    {
        cin>>n>>m;
        for(int i=0; i<n; i++)
            for(int j=0; j<m; j++)
                cin>>mmp[i][j];
        for(int i=0; i<n; i++)
            for(int j=0; j<m; j++)
                if(mmp[i][j]=='#')
                {
                    dfs(i,j);
                    ans++;
                }
        cout<<ans<<endl;
        return 0;
    }
    有不懂欢迎咨询 QQ:1326487164(添加时记得备注)
  • 相关阅读:
    Base64正反编码
    json数据测试接口
    ajax上传进度条
    ajax利用php上传图片
    ajax缓存 header头文件
    ajax同步与异步
    ajax的post请求与编码
    ajax的get请求与编码
    ajax获取服务器响应信息
    创建ajax对象
  • 原文地址:https://www.cnblogs.com/bluefly-hrbust/p/9580311.html
Copyright © 2020-2023  润新知