50pts求助!!!
查看原帖
50pts求助!!!
797897
_QyGyQ_楼主2023/8/29 10:37
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
const int N=1e6+7;
int ans;
int n,m;
char a[2010][2010];
int dx[8]={1,0,-1,0,1,-1,1,-1};
int dy[8]={0,1,-1,0,1,-1,-1,1};
void dfs(int x,int y){
	a[x][y]='.';
	for(int i=0;i<8;i++){
		int tx=x+dx[i];
		int ty=y+dy[i];
		if(a[tx][ty]=='W'){
			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'){
    			ans++;
    			dfs(i,j);
			}
		}
	}
	cout<<ans;
    return 0;
}
2023/8/29 10:37
加载中...