日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

暑假集训(3)第二弹 -----Jungle Roads(Hdu1301)

發(fā)布時間:2025/3/15 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 暑假集训(3)第二弹 -----Jungle Roads(Hdu1301) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

問題梗概:自從上次某個acmer來設(shè)計了拉格瑞圣島的交通路線后,島上的酋長就相當(dāng)苦惱,他發(fā)現(xiàn),雖然這些修好的公路便利了島上的

交通,并且讓拉格瑞圣島的旅游業(yè)更加興旺,甚至他們還收到了一筆不小的國際資金援助以發(fā)展島嶼,但是為了維護(hù)這些公路,不被熱帶

地區(qū)的恐怖植物覆蓋,他必須拿出一筆不小的財富。這很大程度上影響了島嶼的經(jīng)濟(jì)發(fā)展。

為了真正發(fā)展普世價值精神,你決定去幫助他,找到最短的連接島上n(1<n<27)個村莊的簡單連通圖。以便得知那些路是可以放棄繼續(xù)

維護(hù)的。

?

解題思路:和第一彈的連接問題相似,不過這個圖的稠密程度不是很高,考慮使用kruskal算法解決問題。

?

1 #include "iostream" 2 #include "algorithm" 3 4 using namespace std; 5 int beg[100]; 6 int end[100]; 7 int v[27]; 8 int num[100]; 9 int size[100]; 10 int s; 11 void mset(int n) 12 { 13 for (int i=1;i<=n;i++) 14 v[i] = i; 15 } 16 int cmp(int x,int y) 17 { 18 return size[x] < size[y]; 19 } 20 int findroot(int x) 21 { 22 while (x != v[x]) 23 { 24 v[x] = v[v[x]]; 25 x = v[x]; 26 } 27 return x; 28 } 29 void kru (int n) 30 { 31 int x,y,sum=0; 32 sort (num+1,num+s+1,cmp); 33 for (int i=1;i<=s;i++) 34 { 35 x = findroot(beg[num[i]]); 36 y = findroot(end[num[i]]); 37 if (x != y) 38 { 39 sum += size[num[i]]; 40 v[y] = x; 41 } 42 } 43 cout<<sum<<endl; 44 } 45 int main() 46 { 47 int n,m,l,k; 48 char c,d; 49 while (cin>>n && n) 50 { 51 mset(n); 52 k=1; 53 s=0; 54 for (int i=1;i<=n-1;i++) 55 { 56 cin>>c>>m; 57 s += m; 58 while (m--) 59 { 60 cin>>d>>l; 61 beg[k] = int (c-64); 62 end[k] = int (d-64); 63 size[k] = l; 64 num[k] = k++; 65 } 66 } 67 kru(n); 68 } 69 return 0; 70 } View Code

?

轉(zhuǎn)載于:https://www.cnblogs.com/huas-zlw/p/5706934.html

總結(jié)

以上是生活随笔為你收集整理的暑假集训(3)第二弹 -----Jungle Roads(Hdu1301)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。