Thứ Bảy, 5 tháng 1, 2013
總算弄出來了0rz......
練習寫一個超難的程式...........
感覺題目好像不是個很難的問題
可是我卻寫超久0rz.....
題目就是.......
讓user設定n個點
m個路徑(例如從a到b的距離是123, c到d的距離是543)
然後程式要計算出所有點到點的最短距離
如果n=5, 就是25個最短距離, 不過有5個是自己到自己~~~所以是20個
我用javascript寫.......
寫到超想哭0rz
過程自己手工算出所有最短距離, 在驗證程式
跑好幾次無窮迴圈........一直測試測試, 一直看變數的變化, 一直看路徑跟距離的計算
最後總算弄出來了............可是卻有bug....
結果有18個對~~2個有問題
想必程式一定哪裡出了問題導致算錯...........又一直debug一直找
又摸了好久才總算發現g點在哪
0rz
我是用遞迴寫
超難.............自從大一的c++過後再也沒寫過這種東西
所以才寫這麼久吧0rz
作法就是
從某個點到所有下一個點
判斷是否到底
判斷是否可走
死路就return
能走的話在呼叫自己一次
進去就是上面所做的......
再從某個點到所有下一個點
判斷是否到底
判斷是否可走
死路就return
能走的話在呼叫自己一次
一直ruunurunrunurunur
這邊我是把每條路徑的距離都寫入一個陣列.......最後這條路的所有分支的分支都跑完
在把陣列排序, 輸出第0個就是最短距離
總之這段流程我也是想很久~~也在紙上畫跟計算很久才弄出來的0rz
但寫出來真的超爽........
真的超爽~~~~~~~~A0Ay
這是一段code......
可以看到我註解了超多code.........有後來沒用到的程式.....也有debug專用的程式...
就知道過程有多艱辛0rz.....
Đăng ký:
Đăng Nhận xét (Atom)
Không có nhận xét nào:
Đăng nhận xét