全球变暖

#include<iostream>
#include <queue>
#define x first
#define y second
using namespace std;
typedef pair<int,int> PII;
const int N = 1010;
char s[N][N];
bool t[N][N];
int n;
int ans;
int dx[4] = {-1, 0, 1, 0}, dy[4] = {0, 1, 0, -1};
bool  bfs(PII cod)
{
    queue<PII>q;
    q.push(cod);
    t[cod.x][cod.y] = true;
     bool  land = false;
    while(q.size())
    {
      PII r = q.front();
      q.pop();
      bool sea = false;
      for(int i = 0; i < 4; i ++)
      {
          int x = dx[i] + r. x, y = dy[i] + r.y;
          if(x < 1 || x > n || y < 1 || y > n)continue;
          if(t[x][y])continue;
          if(s[x][y] == '.')
          {
              sea = true;
              continue;
          }
          if(s[x][y]=='#')
          {
              t[x][y] = true;
              q.push({x, y});
          }
      }
      if(sea == false)
      {
          land = true;
      }
    }
   return land;
}
int main()
{
    cin >>n;
    int cnt  = 0;
    for(int i = 1; i <= n; i ++)
    {
            for(int j = 1; j <= n; j ++)
            {
                cin >> s[i][j];
            }
    }
    
    for(int i = 1; i <=  n; i ++)
    {
        for(int j = 1; j <= n; j ++)
        {
            if(t[i][j] == false && s[i][j] == '#')
            {
                bool f = bfs({i, j});
                if(f) ans ++;
                cnt ++;
            }
        }
    }
    cout << cnt - ans << endl;
}

全部评论

相关推荐

点赞 评论 收藏
分享
风中翠竹:真的真的真的没有kpi。。。面试官是没有任何kpi的,捞是真的想试试看这个行不行,碰碰运气,或者是面试官比较闲现在,没事捞个人看看。kpi算HR那边,但是只有你入职了,kpi才作数,面试是没有的。
双非有机会进大厂吗
点赞 评论 收藏
分享
05-29 20:34
门头沟学院 C++
KarlAllen:得做好直接春招的准备。学历差的话,一是面试要求会比学历好的严格不少,二是就算面试通过了也会被排序。总之暑期和秋招对于学历差的就是及其不友好
无实习如何秋招上岸
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-18 18:30
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务