UVA-3.5-谜题-227
来源:互联网 发布:网络一会好一会断 编辑:程序博客网 时间:2024/06/05 02:36
UVA-3.5-谜题-227
#include <stdio.h>#include <stdlib.h>#include <string.h>int x,y;int A (char map[10][10]);int B (char map[10][10]);int L (char map[10][10]);int R (char map[10][10]);char map[10][10];int mark=0;int main(){ memset(map,0,sizeof(map)); int count=1; while(1) { int k; int i; if(count!=1) { char b; b=getchar(); } gets(map[1]); //printf("map[1]=%s***\n",map[1]); k=strlen(map[1]); if(k==1&&map[1][0]=='Z') break; for(i=0;i<k;i++) { if(map[1][i]==' '||map[1][i]=='0') { x=1; y=i; } if(k==4) { x=1; y=4; map[x][y]=' '; } } int j; for(i=2;i<=5;i++) { gets(map[i]); int k1=strlen(map[i]); for(j=0;j<k1;j++) { if(map[i][j]==' ') { x=i; y=j; } } if(k1==4) { x=i; y=4; map[x][y]=' '; } } char turn; // printf("****x=%d,y=%d\n\n",x,y); //puts(map[1]); while(1) { scanf("%c",&turn); if(turn=='0') break; else { if(turn=='A') { A(map); if(mark) break; } if(turn=='B') { B(map); if(mark) break; } if(turn=='L') { L(map); if(mark) break; } if(turn=='R') { R(map); if(mark) break; } } } char b; //printf("\n"); if(count!=1) printf("\n"); printf("Puzzle #%d:\n",count++); if(mark) { while(1) { scanf("%c",&turn); if(turn=='0') break; } mark=0; printf("This puzzle has no final configuration.\n"); continue; } for(i=1;i<=5;i++) { for(j=0;j<5;j++) { if(j==0) printf("%c",map[i][j]); else printf(" %c",map[i][j]); } printf("\n"); } } return 0;}int A (char map[10][10]){ char t; if(x-1<=0) { mark=1; return mark; } t=map[x-1][y]; map[x-1][y]=map[x][y]; map[x][y]=t; x=x-1;}int B (char map[10][10]){ char t; if(x+1>5) { mark=1; return mark; } t=map[x+1][y]; map[x+1][y]=map[x][y]; map[x][y]=t; x=x+1;}int L (char map[10][10]){ char t; //printf("L1:%s*\n",map[x]); if(y-1<0) { mark=1; return mark; } t=map[x][y-1]; map[x][y-1]=map[x][y]; map[x][y]=t; y=y-1; //printf("L:%s\n",map[x]);}int R (char map[10][10]){ char t; if(y+1>4) { mark=1; return mark; } t=map[x][y+1]; map[x][y+1]=map[x][y]; map[x][y]=t; y=y+1;}
0 0
- UVA-3.5-谜题-227
- UVa 227 Puzzle(谜题)
- UVa 227 Puzzle(谜题)
- 题解:谜题(UVa 227)
- UVA 227
- uva 227
- UVa 227
- UVA-227
- UVA 227
- UVA-227
- UVA 227
- UVA 227
- uva 227
- UVA 227
- UVA 227
- UVa 227
- uva 227
- 谜题(Puzzle, UVa 227)算法
- Android AsyncTask 源码详细解析,掌握工作原理和细节
- UVA-3.4-周期串-455
- Java并发编程的艺术(一)——并发编程需要注意的问题
- Qt Quick学习笔记
- 浅拷贝问题分析
- UVA-3.5-谜题-227
- 分布式一致性哈希算法
- UVA-3.6-纵横字谜-232
- 从SCN角度 :理解 重建控制文件(通过trace)中的 reset log 和 no retset log
- 为什么你总是学不好Linux技术?这是我的答案
- UVA-4.2-刽子手游戏-489
- 防御 XSS 攻击的七条原则
- Java Web开发中路径问题小结
- C++中两个类互相包含