多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > UVA 1395 Slim Span(MST)

UVA 1395 Slim Span(MST)

來源:程序員人生   發布時間:2016-12-04 14:04:06 閱讀次數:2415次

http://vjudge.net/problem/UVA⑴395

題目大意:讓求最小生成樹滿足修長度最小的條件(修長度:最大邊與最小邊的差值)

思路:在書上。根據Kruskal的思想,當所有點連通了就停止枚舉左側界,記錄最小修長度。紫書的代碼好稠

#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<vector> #include<queue> using namespace std; const int INF = 0x3f3f3f3f; const int N = 105; struct node { int u,v,w; bool operator < (const node & p)const { return w < p.w; } }e[N*N]; int n,m,counter; int f[N]; int getf(int t) { if(t != f[t]) f[t] = getf(f[t]); return f[t]; } void Init() { for(int i = 1;i <= n;i++) f[i] = i; counter = 0; } int main() { while(~scanf("%d%d",&n,&m) && (n || m)) { for(int i = 1;i <= m;i++) scanf("%d%d%d",&e[i].u,&e[i].v,&e[i].w); sort(e+1,e+1+m); int minn = INF; for(int L = 1;L <= m;L++) { Init(); for(int R = L;R <= m;R++) { int x = getf(e[R].u); int y = getf(e[R].v); if(x != y) { f[y] = x; counter++; } if(counter == n⑴) { minn = min(minn,e[R].w-e[L].w); break; } } } if(minn == INF) printf("⑴\n"); else printf("%d\n",minn); } return 0; }


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 老司机福利在线免费观看 | www午夜| 美女伊人网| 亚洲产国偷v产偷v自拍自拍 | 国产欧美一区二区三区精品 | 最近中文字幕mv在线高清 | 亚洲福利一区二区 | 成人在线精品 | 视频一区中文字幕 | 老司机成人免费精品视频 | 亚洲欧洲日产国产 最新 | 最近手机中文字幕大全8 | 国产精品嫩草影院在线播放 | a久久久久一级毛片护士免费 | 久久性生大片免费观看性 | a天堂中文在线 | 亚洲产国偷v产偷v自拍色戒 | 欧美专区在线视频 | 久久天天躁狠狠躁夜夜不卡 | 日本中文字幕在线看 | 狠狠插网站 | 欧美一级高清片欧美国产欧美 | aa级黄色大片 | a级爱爱视频 | 最色影院 | 狂野欧美性猛交xxxx免费 | 国内精品网站 | www.日本在线 | 亚洲成人小视频 | 亚洲国产欧美日韩一区二区三区 | 欧美一级特黄毛片视频 | 成人伊人网| 亚洲区视频在线观看 | 亚洲第一福利视频 | 91真人毛片一级在线播放 | 欧美一区二区三区性 | jiz欧美高清| 亚洲国产欧美精品一区二区三区 | 亚洲在线小视频 | 亚洲香蕉一区二区三区在线观看 | 欧美日本韩国一区二区 |