题目描述
题目大意是,让你把特定的字符串转化为PostScript语言代码。每个输入都从(300,420)开始绘图,绘制到(310,420)。之后字符V代表逆时针旋转90度后,继续绘制10个单位;A表示顺时针旋转90度后,继续绘制10个单位。
题解
水题。读懂题意是关键!告诉我们英语非常重要!!
AC代码
#include <cstdio>
#include <cstring>
using namespace std;
int x,y,dir;
void dmove(int d){
switch(d){
case 0: x+=10;break;
case 1: y-=10;break;
case 2: x-=10;break;
case 3: y+=10;break;
}
}
int main(){
char d[300];
while(scanf("%s", d) != EOF){
x = 310, y = 420,dir = 0;
printf("300 420 moveto\n310 420 lineto\n");
for(int i = 0,k = strlen(d); i<k; i++){
if(d[i] == 'A') dir = (dir+1)%4;
else dir = (dir+3)%4;
dmove(dir);
printf("%d %d lineto\n",x,y);
}
printf("stroke\nshowpage\n");
}
}