20分求调
查看原帖
20分求调
1655190
Zjb0406楼主2025/7/26 23:26
#include<bits/stdc++.h>
using namespace std;
int a_x[4] = {0,-1,0,1};
int b_y[4] = {1,0,-1,0};
int n,m,dx,dy;
bool used[105][105];
void dfs(int x,int y){
    used[x][y]=1;
    dx=x+1;
    dy=y+1;
    if(dx>=0&&dx<=n&&dy>=0&&dy<m&&used[1][1]==0){
        dfs(dx,dy);
    }
} 
int main(){
    int cnt=0;
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        char c;
        for(int j=1;j<=m;j++){
            cin>>c;
            if(c!='.'){
                used[i][j]=0;
            }
            else{
                used[i][j]=1;
            }
        }
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            if(!used[i][j]){
				dfs(i,j);
                cnt++;
            }
        }
    }
    cout<<cnt;
    return 0;
}
2025/7/26 23:26
加载中...