
样例输入
TRGSJ
XDOKI
M VLN
WPABE
UQHCF
ARRBBL0
ABCDE
FGHIJ
KLMNO
PQRS
TUVWX
AAA
LLLL0
ABCDE
FGHIJ
KLMNO
PQRS
TUVWX
AAAAABBRRRLL0
样例输出
Puzzle #1:
T R G S J
X O K L I
M D V B N
W P A E
U Q H C F
Puzzle #2:
A B C D
F G H I E
K L M N J
P Q R S O
T U V W X
Puzzle #3:
This puzzle has no final configuration.
这是我的代码:求大神帮忙看看,为什么会wa
#include<stdio.h>
void fac(char );
char a[10][10],b[100],c,count=0;
int x=1,m,n;
int main(){
char d;
int i,j;
while(scanf("%c",&d)&&d!='Z'){
a[0][0]=d;
for(i=1;i<=4;i++)
scanf("%c",&a[0][i]);
getchar();
for(i=1;i<=4;i++){
for(j=0;j<=4;j++)
scanf("%c",&a[i][j]);
getchar();}
for(i=0;i<=4;i++)
for(j=0;j<=4;j++)
if(a[i][j]==32)
{m=i;
n=j;}
for(i=0;;i++){
scanf("%c",&b[i]);
if(b[i]=='0')
break;
}
getchar();
for(i=0;b[i]!=0;i++){
fac(b[i]);
if(count)
break;
}
if(count==0){
printf("Puzzle #%d:\n",x);
for(i=0;i<=4;i++){
for(j=0;j<=4;j++)
printf("%c ",a[i][j]);
printf("\n");
}
printf("\n");
}
count=0;
x++;
}
}
void fac(char c) {
switch(c){
case 'A':if(m-1>=0){
a[m][n]=a[m-1][n];
a[m-1][n]=' ';
m--;
}
else {printf("Puzzle #%d:\nThis puzzle has no final configuration.\n",x);count=1;}break;
case 'B':if(m+1<=4){
a[m][n]=a[m+1][n];
a[m+1][n]=' ';
m++;
}
else {printf("Puzzle #%d:\nThis puzzle has no final configuration.\n",x);count=1;}break;
case 'L':if(n-1>=0){
a[m][n]=a[m][n-1];
a[m][n-1]=' ';
n--;
}
else {printf("Puzzle #%d:\nThis puzzle has no final configuration.\n",x);count=1;}break;
case 'R':if(n+1<=4){
a[m][n]=a[m][n+1];
a[m][n+1]=' ';
n++;
}
else {printf("Puzzle #%d:\nThis puzzle has no final configuration.\n",x);x++;count=1;}break;
default: ;
}
}