30分蒟蒻求助
查看原帖
30分蒟蒻求助
544528
TBKL067楼主2022/8/12 08:32
#include<bits/stdc++.h>
using namespace std;
const int mx = 1005;
int n,m;
char a[mx][mx];
void solve(int x,int y){
	a[x][y] = '0';
	for(int i = -1;i<=1;i++){
		for(int j = -1;j<=1;j++){
			int nx = x+i;int ny = y+j;
			if(nx>=0&&nx<n&&ny>=0&&ny<m&&a[nx][ny]!='0')solve(nx,ny);
		}
	}
}
int main(){
	cin>>n>>m;
	for(int i = 0;i<n;i++){
		for(int j = 0;j<m;j++){
			cin>>a[i][j];
		}
	}
	int ct = 0;
	for(int i = 0;i<n;i++){
		for(int j = 0;j<m;j++){
			if(a[i][j]!='0'){
				solve(i,j);
				ct++;
			}
		}
	}
	cout<<ct;
}

求助

2022/8/12 08:32
加载中...