260 - Il Gioco dell'X

#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;
}

0 comments: (+add yours?)