WA 227
Posted: Sat May 22, 2010 8:24 am
plz help me. i get WA.. WA.. WA.. WA.. WA.. WA..
#include<stdio.h>
#include<string.h>
main()
{
char sa[30][30],order[500],ch;
long row,col,i,j,k,flag=0,kase=1;
while(1)
{
flag=0;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
scanf("%c",&sa[j]);
if(sa[0][0]=='Z')
{
flag=1;
break;
}
if(sa[j]==' ')
{
row=i;
col=j;
}
}
if(flag==1)
break;
scanf("%c",&ch);
}
if(flag==1)
break;
k=0;
while(scanf("%c",&ch)!=EOF)
{
if(ch=='0')
break;
if(ch=='A'||ch=='B'||ch=='R'||ch=='L')
order[k++]=ch;
if(ch=='a'||ch=='b'||ch=='r'||ch=='l')
flag=1;
}
printf("Puzzle #%ld:\n",kase++);
if(flag==0)
{
for(i=0;i<k;i++)
{
if(order=='A')
{
if((sa[row-1][col]>='A'&&sa[row-1][col]<='Z')||(sa[row-1][col]>='a'&&sa[row-1][col]<='z'))
{
sa[row][col]=sa[row-1][col];
row--;
sa[row][col]=' ';
}
else
{
flag=1;
break;
}
}
else if(order=='B')
{
if((sa[row+1][col]>='A'&&sa[row+1][col]<='Z')||(sa[row+1][col]>='a'&&sa[row+1][col]<='z'))
{
sa[row][col]=sa[row+1][col];
row++;
sa[row][col]=' ';
}
else
{
flag=1;
break;
}
}
else if(order=='R')
{
if((sa[row][col+1]>='A'&&sa[row][col+1]<='Z')||(sa[row][col+1]>='a'&&sa[row][col+1]<='z'))
{
sa[row][col]=sa[row][col+1];
col++;
sa[row][col]=' ';
}
else
{
flag=1;
break;
}
}
else if(order=='L')
{
if((sa[row][col-1]>='A'&&sa[row][col-1]<='Z')||(sa[row][col-1]>='a'&&sa[row][col-1]<='z'))
{
sa[row][col]=sa[row][col-1];
col--;
sa[row][col]=' ';
}
else
{
flag=1;
break;
}
}
}
}
if(flag==0)
{
for(i=0;i<5;i++)
{ for(j=0;j<5;j++)
{
if(j==0)
printf("%c",sa[j]);
else
printf(" %c",sa[j]);
}
printf("\n");
}
}
else
printf("This puzzle has no final configuration.\n");
memset(sa,0,sizeof(sa));
memset(order,0,sizeof(order));
printf("\n");
scanf("%c",&ch);
}
return 0;
}
#include<stdio.h>
#include<string.h>
main()
{
char sa[30][30],order[500],ch;
long row,col,i,j,k,flag=0,kase=1;
while(1)
{
flag=0;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
scanf("%c",&sa[j]);
if(sa[0][0]=='Z')
{
flag=1;
break;
}
if(sa[j]==' ')
{
row=i;
col=j;
}
}
if(flag==1)
break;
scanf("%c",&ch);
}
if(flag==1)
break;
k=0;
while(scanf("%c",&ch)!=EOF)
{
if(ch=='0')
break;
if(ch=='A'||ch=='B'||ch=='R'||ch=='L')
order[k++]=ch;
if(ch=='a'||ch=='b'||ch=='r'||ch=='l')
flag=1;
}
printf("Puzzle #%ld:\n",kase++);
if(flag==0)
{
for(i=0;i<k;i++)
{
if(order=='A')
{
if((sa[row-1][col]>='A'&&sa[row-1][col]<='Z')||(sa[row-1][col]>='a'&&sa[row-1][col]<='z'))
{
sa[row][col]=sa[row-1][col];
row--;
sa[row][col]=' ';
}
else
{
flag=1;
break;
}
}
else if(order=='B')
{
if((sa[row+1][col]>='A'&&sa[row+1][col]<='Z')||(sa[row+1][col]>='a'&&sa[row+1][col]<='z'))
{
sa[row][col]=sa[row+1][col];
row++;
sa[row][col]=' ';
}
else
{
flag=1;
break;
}
}
else if(order=='R')
{
if((sa[row][col+1]>='A'&&sa[row][col+1]<='Z')||(sa[row][col+1]>='a'&&sa[row][col+1]<='z'))
{
sa[row][col]=sa[row][col+1];
col++;
sa[row][col]=' ';
}
else
{
flag=1;
break;
}
}
else if(order=='L')
{
if((sa[row][col-1]>='A'&&sa[row][col-1]<='Z')||(sa[row][col-1]>='a'&&sa[row][col-1]<='z'))
{
sa[row][col]=sa[row][col-1];
col--;
sa[row][col]=' ';
}
else
{
flag=1;
break;
}
}
}
}
if(flag==0)
{
for(i=0;i<5;i++)
{ for(j=0;j<5;j++)
{
if(j==0)
printf("%c",sa[j]);
else
printf(" %c",sa[j]);
}
printf("\n");
}
}
else
printf("This puzzle has no final configuration.\n");
memset(sa,0,sizeof(sa));
memset(order,0,sizeof(order));
printf("\n");
scanf("%c",&ch);
}
return 0;
}