題目背景
mzc與djn的…還沒有眾人皆知,所以我們要來宣傳一下。
mzc家很有錢(開玩笑),他家有n個男家丁,現在mzc要將她們全都聚集起來(幹什麼就不知道了)。現在知道mzc與男家丁們互相之間通訊的時間,請算出把他們每個人叫到需要的總時間(要重複的哦)。保證能把他們每個人叫到。
輸入格式:
第一行有乙個數n,表示有n個男家丁。第二行乙個數m表示有m條通訊路線。之後m行,每行三個數a[i],b[i],c[i],表示第a[i]個男家丁(或mzc)和第b[i]個男家丁(或mzc)通訊需要時間(雙向)。ai=0表示mzc。
輸出格式:
一行,乙個數sum,表示把他們每個人叫到需要的總時間。
輸入樣例#1:
5輸出樣例#1:120 2 15
2 3 20
3 5 13
1 3 29
0 1 30
2 4 21
0 3 23
5 1 48
0 4 17
0 5 27
1 2 43
2 5 41
94n<=2300
m<=2300000
1/*2**明顯的mst
3但是這個題用kruskal就是wa(百思不得其姐)
4所以就寫了一遍prim 就過了5*/
6 #include7 #include8 #include9
#define maxn 10000
10using
namespace
std;
11int
n,m,x,y,ans;
12int f[2301][2301
],l[maxn];
13bool
used[maxn];
14 inline void read(int&x)
17while(c>='
0'&&c<='
9')
18 x=x*f;19}
20 inline void
prim() 32}
33 used[k]=true
;34 ans+=l[k];
35for(int j=1;j<=n;j++) 39}
40return;41
}42intmain()
52prim();
53 printf("
%d\n
",ans);
54return0;
55 }
洛谷 P2126 Mzc家中的男家丁
與 的 還沒有眾人皆知,所以我們要來宣傳一下。家很有錢 開玩笑 他家有 個男家丁,現在 要將她們全都聚集起來 幹什麼就不知道了 現在知道 與男家丁們互相之間通訊的時間,請算出把他們每個人叫到需要的總時間 要重複的哦 保證能把他們每個人叫到。輸入格式 第一行有乙個數n,表示有n個男家丁。第二行乙個數m...
洛谷 P2126 Mzc家中的男家丁
從題目不難看出這是一道最小生成樹的裸題,然後再看資料範圍 n 2300 m 400000 首先想到kruskal或者prim都可以滿足需要,但考慮到這兩種演算法中kruskal應用更廣,所以今天我們重點講一下kruskal演算法。首先回歸最小生成樹的定義 給定一張邊帶權的無向圖 g v,e n v ...
洛谷 2126 Mzc家中的男家丁
mzc與djn的 還沒有眾人皆知,所以我們要來宣傳一下。mzc家很有錢 開玩笑 他家有 個男家丁,現在mzc要將她們全都聚集起來 幹什麼就不知道了 現在知道mzc與男家丁們互相之間通訊的時間,請算出把他們每個人叫到需要的總時間 要重複的哦 保證能把他們每個人叫到。第一行有乙個數n,表示有n個男家丁。...