全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:4297
推到 Plurk!
推到 Facebook!

請問~如何在4*5的棋盤內算出A-B兩點的最短路徑? (C / C++)

尚未結案
tp61i6c04
一般會員


發表:4
回覆:0
積分:0
註冊:2011-04-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-05-05 16:37:45 IP:140.113.xxx.xxx 訂閱
您好~我正在寫棋類遊戲,
需要在4 x 5格的棋盤中判斷從A點至B點無受其他棋子阻擋的最短路徑,並記錄下來。
我目前的想法是迷宮式的解法,依序從每個方向測試,有受阻就倒退,選別的路徑嘗試。
但是這方法感覺很沒效率,因為最後需要選出最短路徑,並且要判斷是否不可能成立(就是無法從A到B點)。
對於無法成立的條件判斷方式,我也還沒想到.......................

需要您的建議,謝謝~~~
----環境如下----
例如:

0 1 2 3 4 5 //在4*5棋盤中
0 囗 困 囗 困 囗 B
1 囗 囗 困 囗 囗 困
2 困 囗 困 囗 困 困
3 A 囗 囗 囗 困 困

A:起點。
B:終點。
囗:空格,可行走。
困:有阻擋,不可行走。

result =>
A->B 需要: 7步
路徑為: A->(3,1)->(3,2)->(3,3)->(2,3)->(1,3)->(1,4)->(0,4)->B
系統時間:2024-11-21 17:17:31
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!