POJ_1132_Border
2015-07-20 16:31
134 查看
poj第一个一遍ac的题目
这个题目读懂了逆时针转之后亮的格和点移动方向的关系基本就做出来了。
注意到最后路径闭合因此只用现在的x,y坐标就可以了并不需要起始位置。
如果考察的复杂一点可以走到最后一个点而闭合的工作由coder完成,但也没什么难度。
观察了这个题目有很多格式错误,想起来这个题要求每个输出之后要有一个空行。
这个题目读懂了逆时针转之后亮的格和点移动方向的关系基本就做出来了。
注意到最后路径闭合因此只用现在的x,y坐标就可以了并不需要起始位置。
如果考察的复杂一点可以走到最后一个点而闭合的工作由coder完成,但也没什么难度。
观察了这个题目有很多格式错误,想起来这个题要求每个输出之后要有一个空行。
#include <iostream> #include<stdio.h> #include<string.h> using namespace std; int const M=32; char bit[M][M]; char s[M*M]; int main() { int t; scanf("%d",&t); int nx,ny; //现在的位置 for(int l=1;l<=t;l++) { memset(bit,'.',sizeof(bit)); scanf("%d%d",&nx,&ny); scanf("%s",s); int p=0; while(s[p]!='.') { if(s[p]=='N') { bit[nx][ny]='X'; ny++; } else if(s[p]=='S') { bit[nx-1][ny-1]='X'; ny--; } else if(s[p]=='W') { bit[nx-1][ny]='X'; nx--; } else //s[p]=='E' { bit[nx][ny-1]='X'; nx++; } p++; } printf("Bitmap #%d\n",l); for(int i=M-1;i>=0;i--) { for(int j=0;j<M;j++) { printf("%c",bit[j][i]); } printf("\n"); } printf("\n");//注意题目中说的空行 } return 0; }
相关文章推荐
- 阿里面试题2015
- 什么是强迫性中断,什么是自愿中断,试举例说明?
- 为什么排版引擎解析 CSS 选择器时一定要从右往左解析?
- 多线程编程 基础篇 (二)
- 区间dp Gym100712D Alternating Strings
- 深入浅出 Java Concurrency (16): 并发容器 part 1 ConcurrentMap (1)
- hdu 3602 Party (2-sat)
- Composite Pattern
- Http协议之Request和Response
- GRE写作必备句型
- 类的继承问题
- Linux企业运维高效技巧心得及分享
- 24. 二叉搜索树的后序遍历序列
- linux关于bashrc与profile的区别
- iOS OC02_可见度,方法
- ios-block
- VB6.0程序图标
- 暑假开始了,不知道该写点什么
- HTTP协议的几个概念
- sgu 199 beautiful people(nlog 的LIS并输出路径)