略譯

原題目連結

有一台機器人在一個 nxm 大小的廣場上,
依序執行一連串指令,每個指令有 D、E、F 三種可能,
分別代表向右轉 90 度、向左轉 90 度、前進一格。
地圖上 * 代表放著點棒,走到就會撿起並獲得一分,
地圖上 # 代表是不能走的地方,機器人試圖走到 # 或走出廣場時,
會被擋在原地,那次移動指令無效且位置不變。
地圖上有 N、S、L、O 時代表那是機器人的位置,只會有一台機器人,
N 代表面向北方,S 代表南方,L 代表東方,O 代表西方;
問機器人執行完所有指令後,共獲得多少分。

題解

照題目敘述模擬即可。

實作提示

  • 方向可以用 0~3 來代表
    至於數字多少代表哪個方向,可以自行定義。
    • 但建議讓 +1-1 之後剛好是左轉或右轉 90 度後的方向,方便轉向。
  • x, y 的變動量可以用陣列來存
    方向作為 index 傳入,回答相對的 x, y 變動量。會好寫很多。
  • 先把要前進目的地的 x, y 放在別的變數,方便先判斷能不能走;
    不用等不能走再來復元。