70分WA求助
查看原帖
70分WA求助
1279423
zzhengxi楼主2025/1/12 22:13
#include<bits/stdc++.h>
using namespace std;

int n,m,ans;
int ne[8][2] = {{1,0},{0,1},{-1,0},{0,-1},{1,1},{0,0},{1,-1},{-1,1}};
char mp[110][110];

void dfs(int x,int y){
	for(int i = 0 ; i < 8 ; i ++){
		int xx = x + ne[i][0];
		int yy = y + ne[i][1];
		if(xx >= 1 && yy >= 1 && xx <= n && yy <= m && mp[xx][yy] == 'W'){
			mp[xx][yy] = '.';
			dfs(xx,yy);
		}
	}
}

int main(){
	cin >> n >> m;
	for(int i = 1 ; i <= n ; i ++)
		for(int j = 1 ; j <= m ; j ++)
			cin >> mp[i][j];
	for(int i = 1 ; i <= n ; i ++)
		for(int j = 1 ; j <= m ; j ++)
			if(mp[i][j] == 'W'){
                mp[i][j] = '.';
				dfs(i,j);
				ans ++;
			}
	cout << ans;
	return 0;
}
2025/1/12 22:13
加载中...