日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

「计蒜客」机器人

發布時間:2024/1/8 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 「计蒜客」机器人 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

看了很多博主寫的博客,對于基礎不好的我,看的很是吃力,于是寫出這一篇易懂的方法。

一.題目描述

蒜頭君收到了一份禮物,是一個最新版的機器人。這個機器人有 444 種指令:

  • forward x,前進x 米。
  • back x,先向后轉,然后前進 x 米。
  • left x,先向左轉,然后前進 x 米。
  • 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

    二.算法分析

    這道題這個機器人的走法是:先改變方向,再走;再以原來方向的基礎上,改變方向…

    1.定義數組

    我們需要定義兩個數組來定義他的方向
    定義這個數組的方式就和坐標系有關

    定義方向的數組可以順時針定義或逆時針定義(這里選擇逆時針定義)

    由此我們根據順序可以定義出方向數組
    dx = [0,-1,0,1]
    dy = [1,0,-1,0]

    因為這個機器人開始的時候方向是面向x軸正半軸
    就相當于以我設置的這個方向逆時針走三步,則到機器人現在的方向
    所以d = 3,dx[d],dy[d]就表示現在機器人的方向

    2.我們要分析機器人的走向

    • 假如機器人向后走,那么就像我們體育課向后轉一樣,我們要連續向左轉兩次.
      故: d = (d + 2) % 4;
    • 假如機器人向右走,那么我們要連續向左轉三次(因為我們定義就是逆時針旋轉)
      故: d = (d + 3) % 4;
    • 假如機器人向左走,那么我們向左轉一次。
      故: d = (d + 1) % 4;

    三.代碼實現

    public class _20機器人 {public static void main(String args[]){int[] dx = new int[]{0,-1,0,1};int[] dy = new int[]{1,0,-1,0};int nowx = 0; //開始時機器人的坐標int nowy = 0;int d = 3; //剛開始,機器人是面向x軸正半軸Scanner sc = new Scanner(System.in);int n = sc.nextInt();for(int i = 0 ; i < n ; i++){String s = sc.next();int N = sc.nextInt();if(s.equals("back")){d = (d + 2) % 4;} else if(s.equals("left")){d = (d + 1) % 4;}else if(s.equals("right")){d = (d + 3) % 4;}nowx += dx[d] * N;nowy += dy[d] * N;}System.out.println(nowx+" "+nowy);} }

    第一次寫博客,大家有什么看不懂的地方,大家可以回復我,我會及時回復。若有地方寫的不好,或者寫的不對的地方,也希望大家可以幫忙揪出來嘻嘻嘻嘻。希望大家一起變成優秀的學習冠軍。

    總結

    以上是生活随笔為你收集整理的「计蒜客」机器人的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。