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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

九度OJ 1028:继续畅通工程 (最小生成树)

發(fā)布時間:2025/3/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 九度OJ 1028:继续畅通工程 (最小生成树) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

時間限制:1 秒

內(nèi)存限制:32 兆

特殊判題:否

提交:3140

解決:1338

題目描述:
省政府“暢通工程”的目標是使全省任何兩個村莊間都可以實現(xiàn)公路交通(但不一定有直接的公路相連,只要能間接通過公路可達即可)。現(xiàn)得到城鎮(zhèn)道路統(tǒng)計表,表中列出了任意兩城鎮(zhèn)間修建道路的費用,以及該道路是否已經(jīng)修通的狀態(tài)。現(xiàn)請你編寫程序,計算出全省暢通需要的最低成本。
輸入:
測試輸入包含若干測試用例。每個測試用例的第1行給出村莊數(shù)目N ( 1< N < 100 );隨后的 N(N-1)/2 行對應村莊間道路的成本及修建狀態(tài),每行給4個正整數(shù),分別是兩個村莊的編號(從1編號到N),此兩村莊間道路的成本,以及修建狀態(tài):1表示已建,0表示未建。

??? 當N為0時輸入結(jié)束。
輸出:
每個測試用例的輸出占一行,輸出全省暢通需要的最低成本。
樣例輸入:
3 1 2 1 0 1 3 2 0 2 3 4 0 3 1 2 1 0 1 3 2 0 2 3 4 1 3 1 2 1 0 1 3 2 1 2 3 4 1 0
樣例輸出:
3 1 0
來源:
2008年浙江大學計算機及軟件工程研究生機試真題

思路:

采用并查集求解。

對道路排序時,第一排序原則是道路是否已經(jīng)修好,修好的排在前面,第二排序原則是道路的成本。

先計算已經(jīng)修好的道路的連通性,然后逐個添加維修好的道路,添加過程中記錄新增道路的成本。最后的總成本就是答案。


代碼:

#include <stdio.h> #include <stdlib.h>#define N 100 #define M (N*(N-1)/2)typedef struct node {int x;int y;int d;int s; } ROAD; int n; int pre[N+1]; int count[N+1]; int num;void init() {for (int i=1; i<=n; i++){pre[i] = i;count[i] = 1;}num = n; } int find(int i) { while (i != pre[i]) i = pre[i];return i; } int combine(int i, int j) { int a = find(i); int b = find(j);if (a != b){ if (count[a] > count[b]){pre[b] = a;count[a] += count[b];count[b] = 0;}else{pre[a] = b;count[b] += count[a];count[a] = 0;}num --;return 1;}elsereturn 0; }int cmp(const void *a, const void *b) {ROAD *x = (ROAD *)a;ROAD *y = (ROAD *)b;if (x->s != y->s)return y->s - x->s;elsereturn x->d - y->d; }int main(void) {int m, i;ROAD r[M];int sum;while (scanf("%d", &n) != EOF && n){m = n*(n-1)/2;for(i=0; i<m; i++)scanf("%d%d%d%d", &r[i].x, &r[i].y, &r[i].d, &r[i].s);qsort(r, m, sizeof(r[0]), cmp);init();sum = 0;for(i=0; i<m; i++){ if(combine(r[i].x, r[i].y) && r[i].s == 0)sum += r[i].d;if (num == 1)break;} printf("%d\n", sum);} return 0; } /**************************************************************Problem: 1028User: liangrx06Language: CResult: AcceptedTime:20 msMemory:928 kb ****************************************************************/

轉(zhuǎn)載于:https://www.cnblogs.com/liangrx06/p/5084003.html

總結(jié)

以上是生活随笔為你收集整理的九度OJ 1028:继续畅通工程 (最小生成树)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 日本黄a| 18成人免费观看网站下载 | japanese av在线| 免费的性爱视频 | 国产精品一区二区三区久久 | 在线观看国产网站 | 99在线播放 | 久久久中文| 自拍视频网站 | jzzjzz日本丰满成熟少妇 | av少妇 | 丰满人妻中伦妇伦精品app | 国模无码一区二区三区 | 欧美黄页网站 | 美女免费av | 97黄色网 | jizz日本女人 | 99热精品在线观看 | 亚洲AV成人无码久久精品巨臀 | 激情欧美亚洲 | 乱视频在线观看 | 污片在线观看 | 欧美一区二区三区久久综合 | 青青久操 | 亚洲精久久 | 人妻丰满熟妇av无码久久洗澡 | 国产主播一区 | 亚洲图片二区 | 亚洲一级精品 | 麻豆成人在线视频 | 亚洲激情五月 | 在线观看黄网址 | 精品黑人一区二区三区国语馆 | 男生坤坤放进女生坤坤里 | 五月婷婷激情五月 | 九九午夜视频 | 午夜视频在线观看国产 | 久久青草热 | 毛片自拍 | 灌篮高手全国大赛电影 | 五月激情丁香婷婷 | 手机免费av | 国产亚洲欧美一区二区三区 | 国产一区二区在线视频 | mm131国产精品 | 日韩黄色成人 | av大片免费在线观看 | 99久久精品国产亚洲 | 国产一区二区精品丝袜 | 男女视频在线观看免费 | 日韩影院一区二区 | 91在线观看. | 毛片免 | 婷婷爱五月天 | 荒野求生21天去码版网站 | 图片区 小说区 区 亚洲五月 | 国产肥白大熟妇bbbb视频 | 亚洲综合三区 | 日本a天堂| 欧美精品在欧美一区二区少妇 | 老汉av | 嫦娥性艳史bd | 毛片网站免费在线观看 | 天天操中文字幕 | 69精品人妻一区二区三区 | 91一起草 | av电影一区二区三区 | 白嫩白嫩国产精品 | 91精品国产手机 | 88av在线| 一个色综合网 | 国产91熟女高潮一区二区 | 成人免费视频观看 | av少妇在线| 免费萌白酱国产一区二区三区 | 男生操女生逼逼 | 欧美xxxxx少妇| 国产精品国语自产拍在线观看 | 欧美在线 | 亚洲 | 成人网入口 | 国产三级在线免费 | 一级二级av| 三级全黄视频 | 国产夫妻自拍小视频 | 伊在线久久丫 | 欧美成人久久久免费播放 | 国产高清第一页 | 丁香色欲久久久久久综合网 | 一区二区不卡在线观看 | 女人的黄色片 | 亚洲香蕉一区 | 三级免费黄录像 | 91精品一区二区三区综合在线爱 | 亚洲欧美日韩在线不卡 | 手机看片1024日韩 | 5个黑人躁我一个视频 | 亚洲毛片a | 国产精品17p | 欧美精品三级 |