Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
57221 | 尹翊泽 | 家族 | C++ | 通过 | 100 | 1 MS | 1008 KB | 658 | 2022-08-04 09:30:59 |
#include<bits/stdc++.h> #define MAX 205 #define MIN 105 using namespace std; int n,v[MIN][MAX],l[MIN],sum; inline void dfs(int x,int y){ v[x][y]=0; if(x+1<=n&&v[x+1][y]) dfs(x+1,y); if(x-1>0&&v[x-1][y]) dfs(x-1,y); if(y+1<=l[x]&&v[x][y+1]) dfs(x,y+1); if(y-1>0&&v[x][y-1]) dfs(x,y-1); } int main(){ string s; scanf("%d",&n); getline(cin,s); for(int i(1);i<=n;++i){ getline(cin,s); l[i]=s.size(); for(int j(1);j<=l[i];++j) if('a'<=s[j-1]&&s[j-1]<='z') v[i][j]=1; } for(int i(1);i<=n;++i) for(int j(1);j<=l[i];++j) if(v[i][j]){ dfs(i,j); ++sum; } printf("%d",sum); }