开始 2022-08-03 14:00:00

202207C1-2

结束 2022-08-06 15:40:00
Contest is over.
当前 2025-4-17 12:25:39

E
#include<bits/stdc++.h>
using namespace std;
string s[110];
int n,ans;
int dx[4]={-1,0,1,0},dy[4]={0,1,0,-1};
void dfs(int x,int y){
	s[x][y]='*';
	for(int i=0;i<4;i++){
		int tx=x+dx[i],ty=y+dy[i];
		if(tx>=0&&tx<n && 
		   ty>=0&&ty<s[tx].size() && 
		   s[tx][ty]>='a' && s[tx][ty]<='z'){
			dfs(tx,ty);
		}
	}
}
int main(){
	cin>>n;
	getchar(); // 输入一个换行符
	for(int i=0;i<n;i++){
		getline(cin,s[i]);
	}
	for(int i=0;i<n;i++){
		for(int j=0;j<s[i].size();j++){
			if(s[i][j]>='a' && s[i][j]<='z'){
				dfs(i,j);
				ans++;
			}
		}
	}
	cout<<ans<<endl;
	return 0;
}

admin  •  2年前

比赛已结束。