參考課堂迷宮問題的解題方法,建立move數(shù)組,若馬當前位置是(x,y),則沿著第i(1<=i<=8)個方向跳一步,到達新的位置為( x’,y’),下表位置可以根據(jù) move 數(shù)組來確定,有: x’=x+move[i][0] y’=y+move[i][1].
馬走過的信息的 用結(jié)構(gòu)體來存儲。move數(shù)組用于存儲馬可以走過的方向,將開始的馬的位置的信息存入隊列,馬沿著8個方向跳動,在馬跳動過程中,將馬的跳動步數(shù)加1,如果馬沒有走到邊界,判斷馬有沒有在走同樣的步數(shù)到同一個節(jié)點。如果馬沒有在同樣的步數(shù)到同一個節(jié)點,則將這個節(jié)點的信息存入隊列的對尾。在解題中,使用順序隊列來記錄馬到達的位置。使用隊首指針來記錄對首元素。將馬走過的位置的信息存入隊列中,當該節(jié)點走完8個方向時,就將該節(jié)點從對列中刪除掉。直到走的步數(shù)為指定的步數(shù)時結(jié)束。
標簽:
迷宮
上傳時間:
2013-12-12
上傳用戶:cooran