zoukankan      html  css  js  c++  java
  • HDU 1033

    http://acm.hdu.edu.cn/showproblem.php?pid=1033

    这题的题干说的很绕,结合样例不难理解题意,走折线,A代表顺时针,V代表逆时针,给一个包含A和V的字符串,输出走过的点。

    不难发现,不管是顺时针走还是逆时针走,x和y坐标的变化都是不一定的。而根据折线的特点我们知道单纯的向一个方向走的周期是4,沿着这个思路模拟出坐标变化就容易多了

    #include <iostream>
    #include <cstring>
    using namespace std ;
    char a[2001] ;
    int sx,sy ;
    int flag ;
    int len ;
    int main()
    {
        while(~scanf("%s",a))
        {
            printf("300 420 moveto
    310 420 lineto
    ") ;
            len=strlen(a) ;
            sx=310,sy=420 ;
            flag=2 ;
            for(int i=0;i<len;i++) 
            {
                if(a[i]=='A')
                {
                    flag++ ;
                    if(flag>4)
                        flag=1 ;
                }
                else{
                    flag-- ;
                    if(flag<0)
                        flag=3 ;
                }
                if(flag%4==3)
                    sy-=10 ;
                else if(flag%4==1)
                    sy+=10 ;
                else if(flag%4==2)
                    sx+=10 ;
                else if(flag%4==0)
                    sx-=10 ;
                printf("%d %d lineto
    ",sx,sy) ;
            }
            printf("stroke
    showpage
    ") ;
        }
        return 0 ;
    }
    View Code
  • 相关阅读:
    鱼眼拼接实验
    多字节字符集 unicode字符集
    GPU编程接口
    零基础学java第一天
    最牛的减肥方法
    近期思考
    c++的stl容器
    蓝桥杯历年穷举题
    git简单指令3
    git简单指令2
  • 原文地址:https://www.cnblogs.com/xiaohongmao/p/3427109.html
Copyright © 2011-2022 走看看