###### tags: `實習題目` 機器人出門去! Robot GOGO! === > 機器人在科技進步的現在已經被廣泛的被利用於各個 AI 領域之中,是未來勢必會繼續大勢成長的領域之一。 > 歡迎大家多多閱讀資訊時事哦! > [name=Orange] ## Description 今天有一個機器人實驗場地,Orange 博士想要測試他的機器人們的運作狀況是否良好,決定放出一隻隻的機器人在實驗場地走來走去,而機器人有一些運作跟行動的規則必須要被遵守,實驗的場地也是有限制的大小,請閱讀以下的限制。 * 針對機器人有三種的指令可以操作 * R * 此指令會讓機器人向**右**旋轉 90 度 * L * 此指令會讓機器人向**左**旋轉 90 度 * F * 此指令可以讓機器人向前**走一步** * 而針對機器人的方位我們有下面四個類型 * E 朝東、S 朝南、W 朝西、N 朝北 而在這個實驗場地,我們也有一些規則必須遵守,一次只會放出一隻機器人出來走動,而我們可以限制這個場地的大小,原點設定為 $(0,0$),我們限制的大小為最右上的 x 與 y 座標。 今天機器人接收指令行走的時候,若超出地圖的範圍,則他就會掉進無盡深淵,而這次死掉的機器人會留下一個 scent,告訴後面的機器人們,若下次你又要走這一步,會被禁止,因為前面已經有人因為這一步而死掉。 * 舉例來說,某一隻機器人在 $(1,0)$ 的位置,面向南邊(S),接收到了`F`的指令,所以他會向前走一步到達$(1,-1)$,因為超出了地圖範圍,所以這一隻機器人就死掉且留下 scent,倘若之後的某一隻機器人也走到了 $(1,0)$ 且面向南邊並接收到了 `F` 指令,我們的程式會不讓他執行這一步操作,忽略這一指令執行下一個指令 (可能下一個指令是 `R`)。 針對上面的描述,請你設計一支程式來讓機器人行走,並符合上面的限制。 * 輸入的第一行請你輸入這張地圖的大小,第一個數字為 x 座標,第二個數字為 y 座標,這張地圖就介於 $(0,0)$ ~ $(x,y)$。 * 第二行開始為一隻隻機器人的操作,首先先輸入機器人重生的座標,並請輸入他一開始所朝向的方位。 * 第三行為他所接收的指令。 * 第二行與第三行會反覆執行,每兩行為一隻機器人,直到你輸入 -1 代表結束。 而你的輸出會印出每隻機器人接收指令並執行完後**最後所在的座標與他朝向的方位**,但若機器人死掉,請你印出他死掉之前所在的位置,並在最後加上 `LOST` 字串。 * 舉例來說,若機器人走到 $(1,-1)$ 死掉之前所在座標為 $(1,0)$,則請你印出 $(1,0)$,並印出他所朝向的方位。而因為他死掉了,所以加上 `LOST` 字串。 ## Constraint * 你的地圖最大就 50 * 50,x 跟 y 座標請不要超過這個數值 * 輸入的英文字統一大寫即可 * 指令的總長度一次不超過 100 個字元(也就是由 R、F、L 所組成的指令) * 若要結束程式,請在新的一輪輸入 -1 就好 ## Input ``` 5 3 1 1 E RFRFRFRF 3 2 N FRRFLLFFRRFLL 0 3 W LLFFFLFLFL ``` ## Output ``` 1 1 E 3 3 N LOST 2 3 S ``` ## Sample Input and Output 測資提供給大家,讓大家複製,但輸出請你符合最下面圖片的結果。 ### Input ``` 20 20 1 3 N FLRFLFLRLFLRLFLRRRFLF 3 5 S FFFRRRFLFLFLFLRRRFLFLFRFRRRRFFFFFF 10 15 N FFRRFLFLFFLLRRRRFFFLLRFFFFFF 15 3 E FFRRFFLRRLRRLRLRFFFRFRFRFLRFLRFL 16 18 E FFRRFFRRRFFLLFLFLRRRFFFFLFLLLFFFF 3 8 N FFRRFLFLFLFRRFLFFFFLRRLRFFLF 4 14 S FFLFLFRRFFRRRLLLRRLRLRFFFLRLFLRFLRLFRLF ``` ### Output ``` 0 3 S 0 2 W LOST 17 15 E 17 5 W 20 18 E LOST 6 15 N 3 12 S ``` ### After execute ![](https://i.imgur.com/WrVwkJF.png)