机器人

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

  1. forward x,前进 xxx 米。
  2. back x,先向后转,然后前进 xxx 米。
  3. left x,先向左转,然后前进 xxx 米。
  4. right x,先向右转,然后前进 xxx 米。

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

输入格式

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

接下里 nnn 行,每行输入形如上面的指令,其中 −1000≤x≤1000-1000 \le x \le 10001000x1000。

输出格式

输出两个整数 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
package 计蒜客;

import java.util.Scanner;

public class 机器人 {

    /**
     * @param args
     */
    static int i,j=0;
    //static String last="X+";
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scan=new Scanner(System.in);
        int n=scan.nextInt();
        String last="X+";
        for(int i=0;i<n;i++){
            String str=scan.next();
            int length=scan.nextInt();
            last=fun(last,str,length);
        }
        System.out.print(i+" "+j);
    }
    public static String fun(String last,String now,int length){
        //System.out.println(last);
        if(last.equals("X+")){
            if(now.equals("forward")){
                i=i+length;
                last="X+";
            }else if(now.equals("back")){
                i=i-length;
                last="X-";
            }else if(now.equals("left")){
                j=j+length;
                last="Y+";
            }else if(now.equals("right")){
                j=j-length;
                last="Y-";
            }
        }
        else if(last.equals("X-")){
            if(now.equals("forward")){
                //System.out.println(i);
                i=i-length;
                last="X-";
            }else if(now.equals("back")){
                i=i+length;
                last="X+";
            }else if(now.equals("left")){
                j=j-length;
                last="Y-";
            }else if(now.equals("right")){
                j=j+length;
                last="Y+";
            }
        }
        else if(last.equals("Y+")){
            if(now.equals("forward")){
                j=j+length;
                last="Y+";
            }else if(now.equals("back")){
                j=j-length;
                last="Y-";
            }else if(now.equals("left")){
                i=i-length;
                last="X-";
            }else if(now.equals("right")){
                i=i+length;
                last="X+";
            }
        }
        else if(last.equals("Y-")){
            if(now.equals("forward")){
                j=j-length;
                last="Y-";
            }else if(now.equals("back")){
                j=j+length;
                last="Y+";
            }else if(now.equals("left")){
                i=i+length;
                last="X+";
            }else if(now.equals("right")){
                i=i-length;
                last="X-";
            }
        }
        return last;
    }
}

 

posted @ 2018-03-11 22:00  henu小白  阅读(361)  评论(0编辑  收藏  举报