您的位置:首页 > 编程语言 > C语言/C++

hdu 1033 Edge

2016-05-04 10:35 232 查看
Source:
http://acm.hdu.edu.cn/showproblem.php?pid=1033
Description看了很久看不懂。。从后面的内容中看出可以撇开description做,直接模拟。起始坐标为(300,420),每次移动10,输入A为右转,V为左转。

#include <iostream>
#include <string>
using namespace std;

int main()
{
string command;
while(cin>>command)
{
int x = 300, y = 420;
int dir = 1;
cout<<x<<" "<<y<<" moveto"<<endl;//original
x += 10;
cout<<x<<" "<<y<<" lineto"<<endl;//after first move
for(int i=0; i<command.length(); i++)
{
if(command[i] == 'A')//turn right
dir--;
else
dir++;
dir = (dir+4)%4;
switch(dir)
{
case 0://down
y -= 10;
break;
case 1://right
x += 10;
break;
case 2://up
y += 10;
break;
case 3://left
x -= 10;
break;
}
cout<<x<<" "<<y<<" lineto"<<endl;
}//end of each move
cout<<"stroke"<<endl
<<"showpage"<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hdu c++