原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1033
#include <iostream> #include <cstdlib> using namespace std; const int MAX = 300; typedef struct { int x,y; }point; int main() { char str[MAX]=" "; while(cin >> str) { point p; p.x = 310; p.y = 420; int len = strlen(str); cout << "300 420 moveto\n310 420 lineto\n"; int dir = 1; for(int i = 0;i < len;i++) { switch(dir) { case 1: if(str[i] == 'A') { dir = 4; p.y -= 10; } if(str[i] == 'V') { dir = 2; p.y+=10; } break; case 2: if(str[i] == 'A') { dir = 1; p.x += 10; } if(str[i] == 'V') { dir = 3; p.x-=10; } break; case 3: if(str[i] == 'A') { dir = 2; p.y += 10; } if(str[i] == 'V') { dir = 4; p.y -= 10; } break; case 4: if(str[i] == 'A') { dir = 3; p.x -= 10; } if(str[i] == 'V') { dir = 1; p.x+=10; } break; } cout << p.x << " " << p.y << " lineto\n";//不要再使用ends } cout << "stroke\nshowpage\n"; strcpy(str," "); } return 0; }
时间: 2024-10-10 12:25:38