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:
5120 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
輸出樣例#1:
94
n<=2300
m<=2300000
屠龍寶刀點選就送
裸prim 難以理解為什麼不用取最小邊
建邊時 dj[x][y]=dj[y][x]=min(dj[x][y],z) 會全wa 。
直接賦值 會ac 。
#include #include#include
#define inf 0x7fffffff
#define max 3300
using
namespace
std;
bool
vis[max];
int ans=0
,min[max],dj[max][max],n,m;
intmain()
memset(min,
1,sizeof
(min));
min[
0]=0
;
for(int i=0;i<=n;++i)
}vis[u]=1;ans+=minx;
for(int j=1;j<=n;++j)
if(!vis[j]&&dj[u][j]min[j]=dj[u][j];
}printf("%d
",ans);
return0;
}
洛谷 P2126 Mzc家中的男家丁
題目背景 與 的 還沒有眾人皆知,所以我們要來宣傳一下。家很有錢 開玩笑 他家有 個男家丁,現在 要將她們全都聚集起來 幹什麼就不知道了 現在知道 與男家丁們互相之間通訊的時間,請算出把他們每個人叫到需要的總時間 要重複的哦 保證能把他們每個人叫到。輸入格式 第一行有乙個數n,表示有n個男家丁。第二...
洛谷 P2126 Mzc家中的男家丁
從題目不難看出這是一道最小生成樹的裸題,然後再看資料範圍 n 2300 m 400000 首先想到kruskal或者prim都可以滿足需要,但考慮到這兩種演算法中kruskal應用更廣,所以今天我們重點講一下kruskal演算法。首先回歸最小生成樹的定義 給定一張邊帶權的無向圖 g v,e n v ...
洛谷 2126 Mzc家中的男家丁
mzc與djn的 還沒有眾人皆知,所以我們要來宣傳一下。mzc家很有錢 開玩笑 他家有 個男家丁,現在mzc要將她們全都聚集起來 幹什麼就不知道了 現在知道mzc與男家丁們互相之間通訊的時間,請算出把他們每個人叫到需要的總時間 要重複的哦 保證能把他們每個人叫到。第一行有乙個數n,表示有n個男家丁。...