hdu1033

#include<stdio.h>
#include<string.h>
const int MAXN=200;
char str[MAXN];
int main()
{
    int x,y;
    while(scanf("%s",&str)!=EOF)
    {
        int len=strlen(str);
        int x=310,y=420;
        int p=1;//标记走向,一开始是X轴正方向
        printf("300 420 moveto\n310 420 lineto\n");
        for(int i=0;i<len;i++)
        {
            switch(p)
            {
                case 1://X轴正方向
                     if(str[i]==‘V‘) p=2,y+=10;
                     else p=-2,y-=10;
                     break;
                case 2://Y轴正方向
                     if(str[i]==‘V‘) p=-1,x-=10;
                     else p=1,x+=10;
                     break;
                case -1://X轴负方向
                     if(str[i]==‘V‘) p=-2,y-=10;
                     else p=2,y+=10;
                     break;
                case -2:
                     if(str[i]==‘V‘) p=1,x+=10;
                     else p=-1,x-=10;
                     break;
            }
            printf("%d %d lineto\n",x,y);
        }
        printf("stroke\nshowpage\n");

    }
    return 0;

}    
时间: 2024-12-30 07:08:03

hdu1033的相关文章

hdu-1033(格式)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1033 参考文章:https://blog.csdn.net/curson_/article/details/52183782 题意:一开始在点(300,420),然后向下走了10到了(310,420),A表示向右转,V表示向左转. 每次用0,1,2,3代表南,东,西,北,表示移动方向. 一开始题目理解错了,还认为是旋转变化,看来该学英语了. #include<iostream> #include&