![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 cyatmirror ![]()
![]() ![]() |
https://zerojudge.tw/ShowProblem?problemid=d747 不知道是哪裡寫錯了 還煩請版上大大協助 我的想法是去計算每個點的 g(x)(從起點到該點的距離)/h(x)(該點到終點的曼哈頓距離)/f(X)=g(x)+h(X) 然後丟進minheap裡面 若遇到f值相同 則先pop出後進的元素(用order這個變數去計算進去heap的順序) 只是跑出來的結果 1.若沒把order納入考量,那結果會跟bfs幾乎一樣 2.若納入order,我的程式跑出來就會炸裂 ps我原本是用priority queue去做 但還是炸裂QQ 希望有大大能幫我找到錯誤 這個問題我想了一個多禮拜了QAQ 感激不盡>< |
別忘捐VP感謝幫助你的人 | 新手會員瞧一瞧 |
1樓
作者回應
cyatmirror ![]() ![]() |
下面是我的ac code
但是有一行是參酌網路資料 -->(cnt[x+dx[i]][y+dy[i]]==0||cnt[x+dx[i]][y+dy[i]]>cnt[x][y]+1) 如果把這行省掉就會只拿到85%的分數 請問為甚麼不能寫成(cnt[x+dx[i]][y+dy[i]]==0||cnt[x+dx[i]][y+dy[i]]>cnt[x][y])
本篇文章回覆於2019-07-28 16:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
回覆 |
如要回應,請先登入. |