1249:Lake Counting 2021-01-05

简介: 1249:Lake Counting 2021-01-05

1249:Lake Counting

时间限制: 1000 ms         内存限制: 65536 KB

【题目描述】

题意:有一块N×M的土地,雨后积起了水,有水标记为‘W’,干燥为‘.’。八连通的积水被认为是连接在一起的。请求出院子里共有多少水洼?

【输入】

第一行为N,M(1≤N,M≤110)。

下面为N*M的土地示意图。

【输出】

一行,共有的水洼数。

【输入样例】

10 12

W........WW.

.WWW.....WWW

....WW...WW.

.........WW.

.........W..

..W......W..

.W.W.....WW.

W.W.W.....W.

.W.W......W.

..W.......W.

【输出样例】

3

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int x[8]={-1,-1,-1,0,1,1,1,0};
int y[8]={-1,0,1,1,1,0,-1,-1};
int n,m,td[112][112],que[1100][4];
int tj=0;
void bfs(int a,int b){
  tj++;
  int x1,y1,to=0,w=1;
  memset(que,0,sizeof(que));
  que[1][1]=a,que[1][2]=b,que[1][3]=0;td[a][b]=0;
  do{
    to++;
    for(int k=0;k<8;k++){
      x1=que[to][1]+x[k];
      y1=que[to][2]+y[k];
      if(x1>0&&x1<=n&&y1>0&&y1<=m&&td[x1][y1]==1){
        w++;
        que[w][1]=x1;que[w][2]=y1;que[w][3]=que[to][3]+1;
        td[x1][y1]=0;
      }
    }
  }while(w>to);
}
int main(int argc, char *argv[])
{
  scanf("%d %d",&n,&m);
  char t;
  for(int i=1;i<=n;i++)
    for(int j=1;j<=m;j++){
      cin>>t;
      if(t=='W')td[i][j]=1;
      else td[i][j]=0;
    }
  for(int i=1;i<=n;i++)
    for(int j=1;j<=m;j++){
      if(td[i][j]==1) bfs(i,j);
    }
  printf("%d\n",tj);
  return 0;
}

 

相关文章
|
流计算
Delta Lake中CDC的实现
Delta Lake中CDC的实现
164 0
|
弹性计算 缓存 网络协议
阿里云Intel Xeon Platinum 8163(Skylake)或者8269CY(Cascade Lake)
阿里云Intel Xeon Platinum 8163(Skylake)或者8269CY(Cascade Lake),阿里云服务器u1通用算力型Universal实例高性价比,CPU采用Intel(R) Xeon(R) Platinum,主频是2.5 GHz,云服务器U1实例的基准vCPU算力与5代企业级实例持平,最高vCPU算力与6代企业级实例持平,提供2c-32c规格和1:1/2/4/8丰富配比,阿里云服务器u1适用于Web应用及网站,企业办公类应用,数据分析和计算等大多数通用的对vCPU算力和性能要求不高的应用场景
1761 0
《Next Generation of Intel XEON® Processor Hero Features Review》电子版地址
Next Generation of Intel XEON® Processor Hero Features Review
81 0
《Next Generation of Intel XEON® Processor Hero Features Review》电子版地址
|
定位技术 C++
洛谷P1596-[USACO10OCT]湖计数Lake Counting(DFS)
洛谷P1596-[USACO10OCT]湖计数Lake Counting(DFS)
PAT (Advanced Level) Practice - 1049 Counting Ones(30 分)
PAT (Advanced Level) Practice - 1049 Counting Ones(30 分)
123 0
PAT (Advanced Level) Practice - 1004 Counting Leaves(30 分)
PAT (Advanced Level) Practice - 1004 Counting Leaves(30 分)
116 0
【1049】Counting Ones (30 分)
【1049】Counting Ones (30 分) 【1049】Counting Ones (30 分)
85 0
|
SQL 分布式计算 搜索推荐
《 Delta Lake 数据湖专题系列5讲》文章回顾
《Delta Lake 数据湖专题系列5讲》由阿里云 DDI 团队翻译整理自大数据技术公司 Databricks 针对数据湖 Delta Lake 系列技术文章。阅读完此系列文章可以帮助您达到入门级,对数据湖 Lakehouse 有整体上的认识和应用,掌握理论知识体系。
《 Delta Lake 数据湖专题系列5讲》文章回顾
|
存储 SQL 分布式计算
Delta Lake,让你从复杂的Lambda架构中解放出来
Linux 基金会的 Delta Lake(Delta.io)是一个给数据湖提供可靠性的开源存储层软件。在 QCon 全球软件开发大会(上海站)2019 的演讲中,Databricks 公司的 Engineering Manager 李潇带我们了解了 Delta Lake 在实际生产中的应用与实践以及未来项目规划,本文便整理自此次演讲。
Delta Lake,让你从复杂的Lambda架构中解放出来