记录编号 549467 评测结果 AAAAAAAAAA
题目名称 [UVa 227]谜题 最终得分 100
用户昵称 Gravatar夜莺 是否通过 通过
代码语言 C++ 运行时间 0.003 s
提交时间 2020-02-12 18:28:38 内存使用 3.16 MiB
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int main(){
	char tu[6][6];
	freopen("puzzleproblem.in","r",stdin);
	freopen("puzzleproblem.out","w",stdout);
	for(int i=0;i<5;i++)
		gets(tu[i]);
	int x,y;
	for(int i=0;i<5;i++)
		for(int j=0;j<5;j++)
			if(tu[i][j]==' '){
				x=i;
				y=j;
				i=5;
				break;
			}
	char go;
	scanf("%c",&go);
	while(go!='0'){
		switch(go){
			case 'A':{
				if(x==0){
					printf("This puzzle has no final configuration.\n");
					for(int i=0;i<5;i++){
						for(int j=0;j<5;j++)
							printf("%c ",tu[i][j]);
						printf("\n");
					}
					return 0;
				}
				tu[x][y]=tu[x-1][y];
				tu[x-1][y]=' ';
				x--;
				break;
			}
			case 'B':{
				if(x==4){
					printf("This puzzle has no final configuration.\n");
					for(int i=0;i<5;i++){
						for(int j=0;j<5;j++)
							printf("%c ",tu[i][j]);
						printf("\n");
					}
					return 0;
				}
				tu[x][y]=tu[x+1][y];
				tu[x+1][y]=' ';
				x++;
				break;
			}
			case 'L':{
				if(y==0){
					printf("This puzzle has no final configuration.\n");
					for(int i=0;i<5;i++){
						for(int j=0;j<5;j++)
							printf("%c ",tu[i][j]);
						printf("\n");
					}
					return 0;
				}
				tu[x][y]=tu[x][y-1];
				tu[x][y-1]=' ';
				y--;
				break;
			}
			case 'R':{
				if(y==4){
					printf("This puzzle has no final configuration.\n");
					for(int i=0;i<5;i++){
						for(int j=0;j<5;j++)
							printf("%c ",tu[i][j]);
						printf("\n");
					}
					return 0;
				}
				tu[x][y]=tu[x][y+1];
				tu[x][y+1]=' ';
				y++;
				break;
			}
		}
		scanf("%c",&go);
	}
	for(int i=0;i<5;i++){
		for(int j=0;j<5;j++)
			printf("%c ",tu[i][j]);
		printf("\n");
	}
	return 0;
}