UVA 227

来源:互联网 发布:python用什么编译器 编辑:程序博客网 时间:2024/05/22 11:43

这一题,不难。最多就是格式麻烦一点。

我的代码可能有点乱。      

#include<stdio.h> int main(){char s[6][6];int k=0;while(gets(s[0]),s[0][0]!='Z'){for(int i=1;i<5;i++)  gets(s[i]);char a[1000];  char c;int m=0;while((c=getchar())!=EOF){if(c-'0'==0)  break;else    a[m++]=c;}getchar();if(k++) printf("\n");//cout<<endl;int p,q;int flag=0;printf("Puzzle #%d:\n",k);//cout<<"Puzzle #"<<k<<":"<<endl;for(int i=0;i<5;i++){for(int j=0;j<5;j++){if(s[i][j]<'A'||s[i][j]>'Z')     {    p=i,q=j;    break;}} }for(int i=0;i<m;i++){if(a[i]=='A'){if(p-1<0){printf("This puzzle has no final configuration.\n");//cout<<"This puzzle has no final configuration."<<endl;flag=1;break;}else{char temp=s[p][q];s[p][q]=s[p-1][q];s[p-1][q]=temp;p=p-1;q=q;} } if(a[i]=='R'){if(q+1>4){printf("This puzzle has no final configuration.\n");flag=1;break;}else{char temp=s[p][q];s[p][q]=s[p][q+1];s[p][q+1]=temp;p=p;q=q+1;} } if(a[i]=='B'){if(p+1>4){printf("This puzzle has no final configuration.\n");flag=1;break;}else{char temp=s[p][q];s[p][q]=s[p+1][q];s[p+1][q]=temp;p=p+1;q=q;} } if(a[i]=='L'){if(q-1<0){printf("This puzzle has no final configuration.\n");flag=1;break;}else{char temp=s[p][q];s[p][q]=s[p][q-1];s[p][q-1]=temp;p=p;q=q-1;} } }if(!flag)     {//for(int i=0;i<5;i++)//  cout<<s[i]<<endl;  for(int i=0;i<5;i++)  { for(int j=0;j<5;j++)     {  if(j!=4)    printf("%c ",s[i][j]);    //cout<<s[i][j]<<" ";  else  printf("%c",s[i][j]);      }     printf("\n");  }}}return 0;}


原创粉丝点击