1 条题解

  • 1
    @ 2024-1-8 12:53:14

    世界上最好的题解😄

    #include<bits/stdc++.h>
    using namespace std;
    const int N=110;
    int n,m;
    char g[N][N];
    int dr[][2]={{-1,-1},{-1,0},{-1,1},{0,-1},{0,1},{1,-1},{1,0},{1,1}};
    void dfs(int x,int y){
    	g[x][y]='.';
    	for(int i=0;i<8;i++){
    		int xx=x+dr[i][0],yy=y+dr[i][1];
    		if(xx>=1&&xx<=n&&yy>=1&&yy<=m&&g[xx][yy]=='W')dfs(xx,yy);
    	}
    }
    int main(){
    	cin>>n>>m;
    	for(int i=1;i<=n;i++)
    	for(int j=1;j<=m;j++)cin>>g[i][j];
    	int ans=0;
    	for(int i=1;i<=n;i++)
    	for(int j=1;j<=m;j++)
    	if(g[i][j]=='W'){
    		ans++;
    		dfs(i,j);
    	}
    	cout<<ans;
    	return 0;
    }
    

    看完的麻烦点个赞呗👀️

    • 1

    信息

    ID
    592
    时间
    1000ms
    内存
    125MiB
    难度
    2
    标签
    递交数
    9
    已通过
    7
    上传者