博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVa - 227 - Puzzle
阅读量:6705 次
发布时间:2019-06-25

本文共 2970 字,大约阅读时间需要 9 分钟。

给空格子上下左右的互换操作,问最后是怎样的

注意一行的最后一个若是空格,需要自己加

注意读取时 操作可能分好多行,一定要读取到 0 为止

1 #include 
2 #include
3 using namespace std; 4 char map[50][50],op[1000],c,tmp; 5 int k,t,x,y,cnt; 6 bool flag; 7 void fuc() 8 { 9 flag=1; 10 for(int i=0;op[i]!='0';i++) 11 { 12 if(flag==0) break; 13 else if(op[i]=='A') 14 { 15 if(x-1>=0) 16 { 17 tmp=map[x-1][y]; 18 map[x-1][y]=' '; 19 map[x][y]=tmp; 20 x--; 21 } 22 else flag=0; 23 } 24 else if(op[i]=='B') 25 { 26 if(x+1<=4) 27 { 28 tmp=map[x+1][y]; 29 map[x+1][y]=' '; 30 map[x][y]=tmp; 31 x++; 32 } 33 else flag=0; 34 } 35 else if(op[i]=='R') 36 { 37 if(y+1<=4) 38 { 39 tmp=map[x][y+1]; 40 map[x][y+1]=' '; 41 map[x][y]=tmp; 42 y++; 43 } 44 else flag=0; 45 } 46 else if(op[i]=='L') 47 { 48 if(y-1>=0) 49 { 50 tmp=map[x][y-1]; 51 map[x][y-1]=' '; 52 map[x][y]=tmp; 53 y--; 54 } 55 else flag=0; 56 } 57 } 58 } 59 int main() 60 { 61 k=1; 62 while(gets(map[0])) 63 { 64 if(map[0][0]=='Z'&&map[0][1]=='\0') break; 65 for(int i=1;i<5;i++) gets(map[i]); 66 for(int i=0;i<5;i++) 67 { 68 if(strlen(map[i])!=5) 69 { 70 map[i][4]=' '; 71 break; 72 } 73 } 74 cnt=0; 75 while(c=getchar()) 76 { 77 if(c<='Z'&&c>='A') op[cnt++]=c; 78 if(c=='0') 79 { 80 op[cnt++]=c; 81 getchar();break; //0 之后还有一个回车需要读取!! 82 } 83 } 84 for(int i=0;i<5;i++) 85 for(int j=0;j<5;j++) 86 if(map[i][j]==' ') 87 { 88 x=i;y=j; break; 89 } 90 fuc(); 91 if(k>1) puts(""); 92 printf("Puzzle #%d:\n",k++); 93 if(flag==0) puts("This puzzle has no final configuration."); 94 else 95 { 96 for(int i=0;i<5;i++) 97 { 98 for(int j=0;j<4;j++) 99 {100 printf("%c ",map[i][j]);101 }102 printf("%c\n",map[i][4]);103 }104 }105 }106 }107 /*108 TRGSJ109 XDOKI110 M VLN111 WPABE112 UQHCF113 ARRBBL0114 ABCDE115 FGHIJ116 KLMNO117 PQRS118 TUVWX119 AAA120 LLLL0121 ABCDE122 FGHIJ123 KLMNO124 PQRS125 TUVWX126 AAAAABBRRRLL0127 Z128 */

 

转载于:https://www.cnblogs.com/nicetomeetu/p/5277192.html

你可能感兴趣的文章
u盘格式化后数据能恢复吗,格式化数据恢复方法
查看>>
Android进阶知识:事件分发与滑动冲突(二)
查看>>
默认路由 0.0.0.0
查看>>
基础拾遗 -- 再学程序流程图
查看>>
小公司与大企业 -- 如何选择
查看>>
Linux基础知识——shell命令类型及命令使用帮助
查看>>
centos6 jenkins安装
查看>>
AS3步进器
查看>>
linux运维面试题
查看>>
@Objective-c入门 1(类,对象,方法)
查看>>
字符串函数snprintf
查看>>
安装cacti过程中的各种报错以及解决方法
查看>>
JS将数字转换成三位逗号分隔的样式
查看>>
一些OJ网站
查看>>
xmake构建程序演示
查看>>
zabbix监控apache
查看>>
Debian系统apt-get命令整理
查看>>
10月第3周网络安全报告:境内被篡改网站升至4202个
查看>>
我的友情链接
查看>>
都996了,研发效能还是提不出起来,关键在这里
查看>>