UVa 227 - Puzzle
来源:互联网 发布:通达信指标公式源码 编辑:程序博客网 时间:2024/05/02 01:34
昨天晚自习看的题目,马上就有思路了,建一个二维数组然后根据输入的字符交换。晚自习结束之后,因为最近熬夜有点多,回来就睡了。今天早上开始打的,中途因为对getchar的用法不是很了解,而且输入移动方法时会有“\n”,处理不好所以卡住了好久。最后提交时,忘了删文件重定向输入语句了,RE了一次,看了好久都没检查出来,以后要避免出现这种情况。
这是最后Ac的代码:
#include <stdio.h>#include <string.h>#define maxn 10000#define max 10int main(){ char a[max][max]; char s[maxn]; int n,i,j,l,x,y,z,temp,first=1,count=1; while(1) { z=1; for(i=0;i<5;i++) { for(j=0;j<6;j++) { a[i][j]=getchar(); if(a[i][j]==' ') x=i,y=j; if(a[i][j]=='Z') goto END; } } for(i=0;;i++) { s[i]=getchar(); if(s[i]=='\n') s[i]=getchar(); if(s[i]=='0') { getchar(); break; } } n=strlen(s); for(i=0;i<n;i++) { if(!z) break; if(s[i]=='A') { if(!x) { z=0; break; } a[x][y]=a[x-1][y]; a[x-1][y]=' '; x--; } else if(s[i]=='B') { if(x==4) { z=0; break; } a[x][y]=a[x+1][y]; a[x+1][y]=' '; x++; } else if(s[i]=='L') { if(!y) { z=0; break; } a[x][y]=a[x][y-1]; a[x][y-1]=' '; y--; } else if(s[i]=='R') { if(y==4) { z=0; break; } a[x][y]=a[x][y+1]; a[x][y+1]=' '; y++; } else if(s[i]=='0') break; else z=0; } if(z) { if(first) first=0; else printf("\n"); printf("Puzzle #%d:\n",count); for(i=0;i<5;i++) { for(j=0;j<5;j++) { if(j) printf(" %c",a[i][j]); else printf("%c",a[i][j]); } printf("\n"); } count++; } else { if(first) first=0; else printf("\n"); printf("Puzzle #%d:\n",count); printf("This puzzle has no final configuration.\n"); count++; } } END: return 0;}
0 0
- UVa 227 - Puzzle
- UVa 227 - Puzzle
- Uva-227-Puzzle
- UVa 227 Puzzle
- UVA - 227 Puzzle
- Uva-227 - Puzzle-AC
- UVa 227 - Puzzle
- UVa-227 - Puzzle
- 【Uva 227】 Puzzle
- UVa 227 - Puzzle
- UVa 227 Puzzle
- UVA - 227 Puzzle
- Uva - 227 - Puzzle
- UVA - 227 Puzzle
- UVa 227 Puzzle
- UVA 227 Puzzle
- UVa 227 - Puzzle
- UVa 227 Puzzle
- 个人所得税和税后收入
- 初识Javascript
- 常用UML类图总结
- C++招聘
- 杰弗森20+4沃克伤退 黄蜂5人上双主场险胜魔术
- UVa 227 - Puzzle
- ios6:UIImagePickerController & Rotation
- HDOJ 题目2571 命运(动态规划)
- rsync+crontab实现服务器自动备份
- ./configure 参数解析
- 产品研发过程常见问题2:难以量化的需求开发与管理
- 第8周项目2加班费
- python
- 第八周项目1-求简单分段函数的值