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.....



Không có nhận xét nào:

Đăng nhận xét