計蒜客習題 布設光纖

2021-08-17 04:29:35 字數 1086 閱讀 3665

蒜國有 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 之間的親密度...