uva227谜题问题,求大佬看看我的代码那有问题cb运行都无错误啊,提交就是wa

#include <stdio.h>

#include<string.h>
char s[6][6],str[100000];

int main()
{
    int p=0;
    while(1)
    {

        char s[6][6]={'\0'};

        p++;
        int i,j,k,t,m,flag=1;
        for(i=0;i<5;i++)
        {
            gets(s[i]);
            if((s[0][0]=='Z'&&s[0][1]=='\0')||(s[1][0]=='Z'&&s[1][1]=='\0')||(s[2][0]=='Z'&&s[2][1]=='\0')||(s[3][0]=='Z'&&s[3][1]=='\0')||(s[4][0]=='Z'&&s[4][1]=='\0')) return 0;
        }
        gets(str);
        for(i=0;i<strlen(str);i++)
        {
            if(str[i]!='0')
            {
                for(j=0;j<5;j++)
                {
                    for(k=0;k<5;k++)
                    {
                        if(s[j][k]==' ')
                        {
                            m=j;
                            t=k;
                        }

                    }
                }
                if(str[i]=='A'&&m-1>=0)
                {
                    s[m][t]=s[m-1][t];
                    s[m-1][t]=' ';

                }
                else if(str[i]=='B'&&m+1<5)
                {
                    s[m][t]=s[m+1][t];
                    s[m+1][t]=' ';
                }
                else if(str[i]=='L'&&t-1>=0)
                {
                    s[m][t]=s[m][t-1];
                    s[m][t-1]=' ';
                }
                else if(str[i]=='R'&&t+1<5)
                {
                    s[m][t]=s[m][t+1];
                    s[m][t+1]=' ';
                }
                else
                {
                    flag=0;
                    break;
                }



            }
            else
                break;
        }
        if(flag==0)
        {
            printf("Puzzle #%d: \n",p);
            printf("This puzzle has no final configuration.\n");
        }
        else
        {
             printf("Puzzle #%d: \n",p);
             for(i=0;i<5;i++)
             {
                 printf("%s\n",s[i]);
             }


        }

    }
    return 0;

}