作者god800606 (hunter)
看板C_and_CPP
標題[問題] 古老的堆疊迷宮問題...不過
時間Mon Apr 25 02:35:00 2011
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
C++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
http://codepad.org/qq7QtoR9
問題(Question):
之前都用 "1" "0" 來表示牆壁與門~
可是這次要用十進位的方式來表示 ~"~
也就是說 比如
12 11 12 13
5 9 2 4
1 0 12 5
7 7 3 2
他的圖就是
-----------
|-- | |
| | -- |
| | |
| |
-----------
將十進位轉成二進位 ex 9=>1001 依照順序北牆東門南門西牆
我的問題就出在
要怎麼先做 運算 並比較 每個node間有沒有矛盾後
再開始走迷宮....
可以請熱心的朋友們教一下嗎?
是否要用到sparse matrice 會比較方便?
謝謝
預期的正確結果(Expected Output):
+-+-+-+-+
1 *| | |
+ +-+-+-+
2|*| |
+ +-+-+-+
3|* * *| |
+ + + + +
4| | |* *
+-+-+-+-+
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.212.71
※ 編輯: god800606 來自: 140.114.212.71 (04/25 02:47)
→ akasan:把數字展開成九宮格 0/1 就可以套到你之前寫的概念了唄 04/25 02:57
→ god800606:我原本也是想這樣啦="= 不過這樣重複的牆和門要怎辦? 04/25 02:59
→ akasan:就重複阿 很嚴重嗎?? 04/25 03:00
→ god800606:那stack又應該怎麼放呢? 04/25 03:00
→ loveme00835:重複的部份不影響你走迷宮吧 04/25 03:00
→ god800606:嗯恩 04/25 03:03
→ loveme00835:你想要不重複也可以, 只是這樣跑迴圈填會比較麻煩 04/25 03:06
→ god800606:是說判斷走向的地方嗎? 04/25 03:10
推 Yshuan:寫過這題 通常乾脆用 list<int> edge[N] 來做全面的紀錄 04/25 06:09
→ god800606:謝謝樓上 請問可以說詳細一點嗎 麻煩你了~ 04/25 12:59
→ firejox:我在想 有那麼麻煩嗎? 04/25 20:11
→ firejox:而且你想問的是 sparse matrix 而非 sparse matrice = = 04/25 20:14
→ firejox:而且只要運用一下&和| 就可以判斷了... 04/25 21:20