标签:ring stream color char pac 移动 page += art
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1033
参考文章:https://blog.csdn.net/curson_/article/details/52183782
题意:一开始在点(300,420),然后向下走了10到了(310,420),A表示向右转,V表示向左转。
每次用0,1,2,3代表南,东,西,北,表示移动方向。
一开始题目理解错了,还认为是旋转变化,看来该学英语了。
#include<iostream> #include<cstring> #include<cstdio> using namespace std; char s[100100]; int main(void) { int i,j,dir; while(~scanf("%s",s)) { int l=strlen(s); printf("300 420 moveto\n310 420 lineto\n"); i=310,j=420; dir=1; for(int k=0;k<l;k++) { if(s[k]==‘A‘) dir=(dir-1)%4; else dir=(dir+1)%4; if(dir==0) dir=4; if(dir==1) i+=10; //南 else if(dir==2) j+=10; //东 else if(dir==3) i-=10; //西 else if(dir==4) j-=10; //北 printf("%d %d lineto\n",i,j); } printf("stroke\nshowpage\n"); } return 0; }
标签:ring stream color char pac 移动 page += art
原文地址:https://www.cnblogs.com/2018zxy/p/9745772.html