蠢蠢机器人III

这道题是计蒜客做过的题目,这道题的卡点应该就是如何去处理方向问题,这里用到了取余来指定方向
#include<bits/stdc++.h>
using namespace std;
const int N=5;
char s[N];
int main()
{
    int m;
    while(scanf("%d",&m)!=EOF)
    {
        double x=0.0,y=0.0;
        int point=0; //point表示方向
        for(int i=1;i<=m;i++)
        {
            scanf("%s",s);
            if(s[0]=='T')
               point=(point+1)%4; 
            else
            {
                double q;
                scanf("%lf",&q);
                if(point==0)
                    y+=q;
                else if(point==1)
                    x+=q;
                else if(point==2)
                    y-=q;
                else
                    x-=q;
            }
        }
        printf("%.3f %.3f\n",x,y);
    }
    return 0;
}

发布了20 篇原创文章 · 获赞 0 · 访问量 498
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 1024 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览