欢迎光临散文网 会员登陆 & 注册

笔记*n

2023-09-18 13:36 作者:泽-吾愿之  | 我要投稿

#include<bits/stdc++.h>

using namespace std;

int n,m,sum=0;

char a[105][105];

int dx[5]={0,0,1,0,-1};

int dy[5]={0,1,0,-1,0};

bool check(int x,int y){

    return x>0&&x<=n&&y>0&&y<=m;

}

void dfs(int x,int y){

     a[x][y]='$';

     for(int i=1;i<=4;i++){

         int tx=x+dx[i];

         int ty=y+dy[i];

         if(a[tx][ty]=='W'&&check(tx,ty)){

             dfs(tx,ty);

         }

     }

}

int main(){

     cin>>n>>m;

     for(int i=1;i<=n;i++){

         for(int j=1;j<=m;j++){

         cin>>a[i][j];

         }

     }

     for(int i=1;i<=n;i++){

         for(int j=1;j<=m;j++){

             if(a[i][j]=='W'){

                 sum++;

                 dfs(i,j);

             }

         }

     }

     cout<<sum;

return 0;

}


笔记*n的评论 (共 条)

分享到微博请遵守国家法律