计蒜客机器人

蒜头君收到了一份礼物,是一个最新版的机器人。这个机器人有 444 种指令:

1. forward x,前进x 米。

2. back x,先向后转,然后前进 x 米。

3. left x,先向左转,然后前进 x 米。

4. right x,先向右转,然后前进x 米。

现在把机器人放在坐标轴原点,起始朝向为 x 轴正方向。经过一系列指令以后,你能告诉蒜头君机器人的坐标位置吗。坐标轴上一个单位长度表示 1米。

 

输入格式

第一行输入一个整数 n(1≤n≤100 表示指令的个数。

接下里 n 行,每行输入形如上面的指令,其中 −1000≤x≤1000

输出格式

输出两个整数 x,yx,yx,y 表示机器人最后坐标。用空格隔开。

样例输入

10

back -9

left 3

left 8

back 15

right 10

right -7

right -3

left 11

right 17

left 3

样例输出

9 -7

 



#include

#include
#include
using namespace std;

int main()
{
//    freopen("1.txt","r",stdin);
//    freopen("2.txt","w",stdout);
    int n,temp=0;
    cin>>n;
    int a[100],b[100];
    string c;
    int x=0,y=0;
    for(int i=0;i    {
        cin>>c;
    if(c=="forward")
        a[i]=0;    
    else if(c=="back")  
        a[i]=2;
    else if(c=="left")
        a[i]=3;        
    else if(c=="right")
        a[i]=1;
        cin>>b[i];
    }
    for(int j=0;j    {
        temp=(temp+a[j])%4;
        switch(temp)
        {
        case 0:x+=b[j];
            break;
        case 1:y-=b[j];
            break;
        case 2:x-=b[j];
            break;
        case 3:y+=b[j];
            break;
        }

    }

    cout<    return 0;//call me z hu
}


#include

#include
#include
using namespace std;

int main()
{
//    freopen("1.txt","r",stdin);
//    freopen("2.txt","w",stdout);
    int n,temp=0;
    cin>>n;
    int a[100],b[100];
    string c;
    int x=0,y=0;
    for(int i=0;i    {
        cin>>c;
    if(c=="forward")
        a[i]=0;    
    else if(c=="back")  
        a[i]=2;
    else if(c=="left")
        a[i]=3;        
    else if(c=="right")
        a[i]=1;
        cin>>b[i];
    }
    for(int j=0;j    {
        temp=(temp+a[j])%4;
        switch(temp)
        {
        case 0:x+=b[j];
            break;
        case 1:y-=b[j];
            break;
        case 2:x-=b[j];
            break;
        case 3:y+=b[j];
            break;
        }

    }

    cout<    return 0;//call me z hu
}

你可能感兴趣的:(计蒜客机器人)