#include<bits/stdc++.h>
#define sc scanf
#define pf printf
using namespace std;
char str[103][103];
int N;
void dfs(int i,int j)
{
if(i<0||j<0||i>=N||j>=N)
{
return;
}
if(str[i][j]=='.')
{
return;
}
str[i][j]='.';
dfs(i,j+1);
dfs(i,j-1);
dfs(i+1,j);
dfs(i-1,j);
}
int main()
{
int test,i,j,counter,x;
sc("%d",&test);
for(x=1;x<=test;x++)
{
sc("%d",&N);
getchar();
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
sc("%c",&str[i][j]);
}
getchar();
}
counter=0;
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
if(str[i][j]!='.' && str[i][j]!='@')
{
dfs(i,j);
counter++;
}
}
}
pf("Case %d: %d\n",x,counter);
}
return 0;
}
#define sc scanf
#define pf printf
using namespace std;
char str[103][103];
int N;
void dfs(int i,int j)
{
if(i<0||j<0||i>=N||j>=N)
{
return;
}
if(str[i][j]=='.')
{
return;
}
str[i][j]='.';
dfs(i,j+1);
dfs(i,j-1);
dfs(i+1,j);
dfs(i-1,j);
}
int main()
{
int test,i,j,counter,x;
sc("%d",&test);
for(x=1;x<=test;x++)
{
sc("%d",&N);
getchar();
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
sc("%c",&str[i][j]);
}
getchar();
}
counter=0;
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
if(str[i][j]!='.' && str[i][j]!='@')
{
dfs(i,j);
counter++;
}
}
}
pf("Case %d: %d\n",x,counter);
}
return 0;
}
0 comments: (+add yours?)
Post a Comment