输入很有迷惑性
2023-12-24 14:12:48
发布于:广东
92阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int n, m, vis[26];
char c, space, a[1001][1001];
int dx[]={0,0,1,-1};
int dy[]={1,-1,0,0};
int dfs(int x, int y)
{
int mx, my;
for(int i=0; i<4; ++i)
{
mx = x + dx[i];
my = y + dy[i];
if(mx<0 || my<0 || mx>=n || my>=m)
continue;
if(a[mx][my] != '.')
{
if(a[mx][my] != c)
{
vis[a[mx][my]-'A'] = 1;
a[mx][my] = '.';
}
else
{
a[mx][my] = '.';
dfs(mx, my);
}
}
}
}
int main()
{
while(~scanf("%d%d%c%c",&n,&m,&space,&c))
{
int ans = 0;
for(int i=0; i<n; ++i)
cin>>a[i];
for(int i=0; i<n; ++i)
for(int j=0; j<m; ++j)
{
if(a[i][j] == c)
{
dfs(i, j);
break;
}
}
for(int i=0; i<26; ++i)
if(vis[i])
++ans;
cout<<ans<<endl;
}
return 0;
}
这里空空如也
有帮助,赞一个