首页 > 代码库 > hdu_1033_Edge(模拟)
hdu_1033_Edge(模拟)
原题链接: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; }
hdu_1033_Edge(模拟)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。