hdu 1033 (bit masking, utilization of switch, '\0' as end of c string) 分类: hdoj 2015-06-15 21:47 37人阅读 评论(0) 收藏
2024-09-28 22:37:57
bit masking is very common on the lower level code.
#include <cstdio>
#include <algorithm>
#define MAXSIZE 205
char line[MAXSIZE];
int main() {
//freopen("input.txt","r",stdin);
int x,y, dir; // (dir&3) 0,1,2,3 -- right,up,left,down
char *p;
while(scanf("%s",line)!=EOF) {
puts("300 420 moveto\n310 420 lineto");
x=310, y=420, dir=0;
for(p=line;*p;++p) {
if(*p=='A') { --dir; }
else { ++dir; }
switch(dir&3) {
case 0: x+=10; break;
case 1: y+=10; break;
case 2: x-=10; break;
case 3: y-=10; break;
}
printf("%d %d lineto\n",x,y);
}
puts("stroke\nshowpage");
}
return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。// p.s. If in any way improment can be achieved, better performance or whatever, it will be well-appreciated to let me know, thanks in advance.
最新文章
- 漫谈C++11 Thread库之原子操作
- Python学习笔记之字典
- html5 canvas画不出图像的原因
- css3动画属性(transitions:property duration timing transition-delay)
- BZOJ1002 轮状病毒
- 关于子线程使用Toast报错Can&#39;t create handler inside thread that has not called Looper.prepare()的解决办法
- Winform DataGridView单元格的提示信息
- instanceof的用法②
- csdn android视频播放器开发
- Android应用程序绑定服务(bindService)的过程源码分析
- 201521123024 《Java程序设计》第11周学习总结
- 1.移植uboot-分析uboot启动流程(详解)
- 索信达携手8Manage,打造项目管理系统信息化体系
- Android Studio使用过程中遇到的错误
- [区块链|非对称加密] 对数字证书(CA认证)原理的回顾
- Java 新建excle文件并填充模版内容
- ActiveMQ-5.15.2下载和启动(windows)
- <;Linux>; 文件夹右下角有锁,解锁
- 21.struts-Action配置.md
- MT【193】三面角的正余弦定理