五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【藍橋杯學習記錄】路徑

2022-04-06 17:04 作者:長舟泛歌  | 我要投稿

一、題目

小藍的圖由 2021 個結(jié)點組成,依次編號 1 至 2021。

對于兩個不同的結(jié)點 a, b,如果 a 和 b 的差的絕對值大于 21,則兩個結(jié)點 之間沒有邊相連;如果 a 和 b 的差的絕對值小于等于 21,則兩個點之間有一條 長度為 a 和 b 的最小公倍數(shù)的無向邊相連。

例如:結(jié)點 1 和結(jié)點 23 之間沒有邊相連;結(jié)點 3 和結(jié)點 24 之間有一條無 向邊,長度為 24;結(jié)點 15 和結(jié)點 25 之間有一條無向邊,長度為 75。

請計算,結(jié)點 1 和結(jié)點 2021 之間的最短路徑長度是多少。

二、解題思路

題目中說到了最短路徑,肯定要用最短路徑,由于只需要求的1-2021之間的最短路徑就可以了,所以可以用Dijkstra算法(下稱D算法)。D算法的思路是將所有頂點分為兩個頂點集,一個叫生長點集,另一個叫非生長點集,開始生長點集只有第一個,即起始點,然后根據(jù)起始點算出起始點到其他每個點的距離,然后找到最短的路徑之后記錄這個點的坐標k,循環(huán)整個距離數(shù)組,判斷之前的距離dist[i]是否大于dist[k]+length(k,i)(即從起始點直接到i的距離是否大于從起始經(jīng)過k點到i)如果大于就dist[i]=dist[k]+length(k,i),最后將這個點加入到生長點集中同時將dist[k]置0。循環(huán)直到所有的點都加入到了生長點集。

最后當選到了2021時計算完最短距離之后輸出。

本題還需要用到最小公倍數(shù),最小公倍數(shù)可以用x*y*gcd(x,y)得到,但是由于本題只有兩點下標相差小于等于21才有距離,所以可以判斷以下兩點是否相差小于等于21,否則距離為MAX(即沒有路徑)

三、完整代碼


【藍橋杯學習記錄】路徑的評論 (共 條)

分享到微博請遵守國家法律
昆山市| 汶川县| 上饶市| 年辖:市辖区| 农安县| 正镶白旗| 荔波县| 乐山市| 蛟河市| 渝中区| 云霄县| 玛纳斯县| 镇平县| 宁德市| 齐齐哈尔市| 黑河市| 中阳县| 田林县| 游戏| 桐乡市| 芜湖县| 莱芜市| 轮台县| 阳山县| 平顶山市| 郑州市| 邻水| 天门市| 安远县| 北票市| 墨竹工卡县| 子洲县| 岳普湖县| 信阳市| 山阴县| 三原县| 大石桥市| 白银市| 城固县| 阳谷县| 彩票|