hdu 1033 Edge

来源:互联网 发布:余世存 知乎 编辑:程序博客网 时间:2024/05/16 10:25

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;}


0 0