蒜國有 n 座基站,現在蒜頭君想給基站之間布設光纖,使得任意兩座基站都是連通的,光纖傳輸具有傳遞性,即如果基站 a 和基站 b 之間有光纖,基站 b 和基站 c 之間有光纖,則基站 a 和基站 c 也是連通的,可以通過中間基站 b 來完成傳輸。
不同的基站之間布設光纖的費用是不同的,現在蒜頭君知道了任意兩座基站之間布設光纖的費用,求問如何布設,可以使得任意兩座基站都是連通的,且總費用最小。
輸入格式
第一行輸入乙個整數 n(2≤n≤100),表示蒜頭基站總數。
接下來輸入 n×n 的矩陣。第 i 行第 j 列的整數表示第 i 座基站和第 j 座基站之間布設光纖的費用 wij(0≤wij ≤10,000)。
輸出格式
輸出乙個整數,表示布設光纖的最小總費用,且使任意兩座基站都是連通的。
樣例輸入
4 0 1 5 1
1 0 6 3
5 6 0 2
1 3 2 0
樣例輸出
4
#include
#include
#include
#include
using
namespace
std;
int g[110][110];
int inf=0x3f3f3f3f;
int dad[200];
struct edgee[8000];
bool cmp(edge a,edge b)
int main()
} int eid = 1;
for (int i = 1; i <= n; i++)
}} sort(e+1, e+eid, cmp);
int rest = n;
int ans = 0;
for (int i = 1; i < eid - 1 && rest > 1; i++)
} cout
<< ans;
return
0;}
計蒜客習題 朋友
在社交的過程中,通過朋友,也能認識新的朋友。在某個朋友關係圖中,假定 a 和 b 是朋友,b 和 c 是朋友,那麼 a 和 c 也會成為朋友。即,我們規定朋友的朋友也是朋友。現在,已知若干對朋友關係,詢問某兩個人是不是朋友。請編寫乙個程式來解決這個問題吧。輸入格式 第一行 三個整數 n,m,p n ...
計蒜客習題 逃跑
一位博主寫了ac 但是無論是廣度bfs還是深度dfs,都會報錯,dfs是執行超時,bfs是答案錯誤。傳送門 另一位博主使用了dfs 有興趣可以看下,沒有檢驗是否正確,傳送門 根據前位博主的bfs 做了幾項修改,然後用自己的 找錯前位博主,發現找不出來,有興趣的小夥伴可以試下,找一下前位博主的錯誤。當...
計蒜客習題 蒜廠年會
蒜廠要開年會了,所有的員工都要參加。每兩個員工之間都有乙個親密度。在同乙個專案工作過的員工之間的親密度為 1。如果 a 和 b b 和 c 均在同乙個專案中工作過,而 a 和 c 沒有,那麼 a 和 c 之間的親密度為 1 1 2。同理,如果 a 和 b 之間的親密度為 x,b 和 c 之間的親密度...