迷宮中的機械人

2021-05-23 04:28:52 字數 984 閱讀 4371

迷宮導航時人工智慧領域乙個常見的問題,迷宮中有走廊和牆壁,機械人可以通過走廊,但不能闖過牆壁。

輸入描述:

首先輸入兩個整數:m,n,分別表示迷宮的行數和列數,都必須小於等於60;

接下來輸入m行,每行有n個字元,其中空格表示走廊,*表示牆壁,迷宮沒有出口;

接下來輸入兩個整數,表示機械人的初始位置,初始時,機械人是朝北的。

最後一行是機械人收到的指令,用字元表示,可能包含空格,有效的命令字元及其含義如下:

r:順時針旋轉90度

l:逆時針旋轉90度

f:往前移動一步,如果前方位置為牆壁,則不移動

q:退出程式,指令序列的最後乙個字元必須是q

輸出描述:

輸出機械人最終的位置和朝向(n,w,s,e)

*/#include

using namespace std;

void output(char a[80],int m,int n);   //顯示迷宮樣式

int main()

; cout<<"請輸入迷宮的行和列數(少於60):";

cin>>m;

cin>>n;

//判斷輸入是否符合要求

while (1)

else

} //輸入迷宮樣式

//迷宮無出口

cout<<"請輸入迷宮樣式元素(星號代表牆壁,空格代表走廊):"<>row;

cin>>col;

//判斷機械人開始在那個位置,如開始就在牆壁,則提示

while (1)

else if(row<1 || col<1 || row>m || col>n)   //如果超出迷宮範圍

else }

//輸入指令 讓機械人活動

cout<<"機械人已經準備就緒,請給字元命令指示:"<

void output(char a[80],int m,int n)   //顯示迷宮樣式

cout<

機械人走迷宮

有乙個愚蠢的機械人走進乙個w h的迷宮,迷宮裡有空地和陷阱。他想要訪問迷宮的每個方格,但是它很笨,只會按照指令的方向走。當機械人不能走的時候,也就是下一步會遇到陷阱 迷宮邊界或者訪問過的格仔,它會向右轉90度 順時針旋轉90度,不能訪問已經訪問過的方格,且在原地只轉一次,移動後可獲得又一次旋轉機會 ...

a 演算法迷宮 c 迷宮中的老鼠

之前我們已經討論了採用回溯 backtracking 方法來解決西洋棋中馬的遍歷問題。為了讓大家更加熟悉回溯方法,我們將在後面的課程中再分析幾個例子。今天先看乙個使用回溯方法解決老鼠走迷宮的問題。下圖是乙個迷宮,其中塗上灰色的方格,老鼠不能進入,請找出老鼠從起點到終點的線路。老鼠只能向兩個方向移動 ...

好色機械人的豔遇 機械人豔遇 《機械人的旅行》

講述機械人 路遇開房車的 剛剛開始的時候畫風很舒服,直到到了晚上上了她的床之後。畫風速變了!這個女主角聲音超好聽。整個情節實在太流氓了,太猥瑣了!連六六君這樣的老司機都看不下去了!正片在三分五十,不謝 很抱歉,此內容已經失效了!就連六六君也無法恢復了。請欣賞其他有效的內容 當您看到這條資訊的時候,很...