784 - Maze Exploration

#include<cstdio>
#include<cstring>
char str[35][85],ch;
void dfs(int i,int j)
{
    if(str[i][j]=='X'||str[i][j]=='#')
    {
        return;
    }
    else if(str[i][j]==' ')
    {
        str[i][j]='#';
        dfs(i+1,j);
        dfs(i,j+1);
        dfs(i-1,j);
        dfs(i,j-1);
    }
}
int main()
{
    int t,i,j,k,m,n,len;
    scanf("%d",&t);
    getchar();
    while(t--)
    {
        k=0;
        j=0;
        for(i=0;;i++)
        {
            gets(str[i]);
            if(str[i][k]=='_')
            {
                break;
            }
        }
        for(m=0;m<i;m++)
        {
            len=strlen(str[m]);
            for(n=0;n<len;n++)
            {
                if(str[m][n]=='*')
                {
                    str[m][n]=' ';
                    dfs(m,n);
                }
            }
        }
        for(m=0;m<=i;m++)
        {
            printf("%s\n",str[m]);
        }
        memset(str,'\0',sizeof(str));
    }
    return 0;
}

0 comments: (+add yours?)