#include<stdio.h>
#include<string.h>
char str[200][200];
int n,i,j,count;
int color[200][200];
void dfs(int i,int j)
{
if(i<0||i>=n||j<0||j>=n||color[i][j]||str[i][j]=='b')
{
return;
}
color[i][j]=1;
dfs(i-1, j-1);
dfs(i-1, j);
dfs(i, j-1);
dfs(i, j+1);
dfs(i+1, j);
dfs(i+1, j+1);
}
int main()
{
int count1=0;
while(scanf("%d",&n)==1)
{
if(n==0)
{
break;
}
count1++;
getchar();
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
scanf("%c",&str[i][j]);
}
getchar();
}
count=0;
memset(color,0,sizeof(color));
for(i=0; i<n; i++)
{
if(str[i][0]=='w')
{
dfs(i,0);
}
for(j=0; j<n; j++)
{
if(color[j][n-1]==1)
{
count=1;
break;
}
}
if(count==1)
{
break;
}
}
if(count)
{
printf("%d W\n",count1);
}
else
{
printf("%d B\n",count1);
}
}
return 0;
}
#include<string.h>
char str[200][200];
int n,i,j,count;
int color[200][200];
void dfs(int i,int j)
{
if(i<0||i>=n||j<0||j>=n||color[i][j]||str[i][j]=='b')
{
return;
}
color[i][j]=1;
dfs(i-1, j-1);
dfs(i-1, j);
dfs(i, j-1);
dfs(i, j+1);
dfs(i+1, j);
dfs(i+1, j+1);
}
int main()
{
int count1=0;
while(scanf("%d",&n)==1)
{
if(n==0)
{
break;
}
count1++;
getchar();
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
scanf("%c",&str[i][j]);
}
getchar();
}
count=0;
memset(color,0,sizeof(color));
for(i=0; i<n; i++)
{
if(str[i][0]=='w')
{
dfs(i,0);
}
for(j=0; j<n; j++)
{
if(color[j][n-1]==1)
{
count=1;
break;
}
}
if(count==1)
{
break;
}
}
if(count)
{
printf("%d W\n",count1);
}
else
{
printf("%d B\n",count1);
}
}
return 0;
}
0 comments: (+add yours?)
Post a Comment