1. 程式人生 > >算法入門經典第六章 例題6-14 Abbott的復仇(Abbott's Revenge)BFS算法實現

算法入門經典第六章 例題6-14 Abbott的復仇(Abbott's Revenge)BFS算法實現

alt es2017 算法實現 wid tro 最短 inpu ges ews

Sample Input

3 1 N 3 3
1 1 WL NR *
1 2 WLF NR ER *
1 3 NL ER *
2 1 SL WR NF *
2 2 SL WF ELF *
2 3 SFR EL *
0

Sample Output

(3,1) (2,1) (1,1) (1,2) (2,2) (2,3) (1,3) (1,2) (1,1) (2,1)
(2,2) (1,2) (1,3) (2,3) (3,3)

技術分享

題目的大意是,輸入起點,離開起點時的朝向和終點,求一條最短路。
每一個坐標上,都有進入坐標時的方向,即NEWS 。NEWS分別表示上,右,左,下,LFR分別表示向左,直走,向右。例如你輸入,1 1 NR EL,對應圖中的(1, 1)坐標點,表示:當你進入(1,1)時的轉向時N,即向上,則此時你只能R,即右轉;當你進入(1,1)時的轉向是E,即向左,則此時你只能L,即左轉。結合圖示理解!

算法入門經典第六章 例題6-14 Abbott的復仇(Abbott's Revenge)BFS算法實現