uva227
#include <stdio.h>
#include <stdlib.h>
int main()
{
char a[6][7];
int flag=0;
while(gets(a[0]))
{
if(a[0][0]=='Z')
break;
flag++;
for(int i=1; i<5; i++)
gets(a[i]);
int x,y;
for(int i=0; i<5; i++)
for(int j=0; j<5; j++)
{
if(a[i][j]==' ')
{
x=i,y=j;
break;
}
}
char c,d[1000];
int flag1=0,g=0;
while((d[g++]=getchar())!='0');
c=getchar();
d[g-1]='\0';
int x1=x,y1=y;
for(int i=0; i<g; i++)
{
if(d[i]=='A')
{
x1=x-1;
y1=y;
}
else if(d[i]=='B')
{
x1=x+1;
y1=y;
}
else if(d[i]=='L')
{
x1=x;
y1=y-1;
}
else if(d[i]=='R')
{
x1=x;
y1=y+1;
}
if(x1<0||x1>4||y1<0||y1>4)
{
flag1=1;
break;
}
else
{
char e=a[x][y];
a[x][y]=a[x1][y1];
a[x1][y1]=e;
x=x1,y=y1;
}
}
if(flag>1)
printf("\n");
printf("Puzzle #%d:\n",flag);
if(flag1)
printf("This puzzle has no final configuration.\n");
else
{
for(int i=0; i<5; i++)
{
for(int j=0; j<4; j++)
printf("%c ",a[i][j]);
printf("%c\n",a[i][4]);
}
}
}
return 0;
}
浙公网安备 33010602011771号