暢通工程再續

2022-04-01 05:02:13 字數 1164 閱讀 2203

相信大家都聽說乙個「百島湖」的地方吧,百島湖的居民生活在不同的小島中,當他們想去其他的小島時都要通過劃小船來實現。現在**決定大力發展百島湖,發展首先要解決的問題當然是交通問題,**決定實現百島湖的全暢通!經過考察小組rprush對百島湖的情況充分了解後,決定在符合條件的小島間建上橋,所謂符合條件,就是2個小島之間的距離不能小於10公尺,也不能大於1000公尺。當然,為了節省資金,只要求實現任意2個小島之間有路通即可。其中橋的**為 100元/公尺。

210 10

20 20

31 1

2 21000 1000oh!

1.將座標化成一張圖。

2.判斷能否連通

3.prim演算法的模板

1 #include2 #include3 #include4 #include5 #include6

using

namespace

std;

7static

const

double inf=(1

<<21);8

9struct

cityc[105

];12

13int

t,n,flag;

14int vis[105],p[105

];15

double map[105][105],d[105

];16

17double

get(int x1,int y1,int x2,int

y2)22

23void

make_map()

24

33else map[i][j]=len;

34if(t==n) flag=1;35

}36}37

}3839void

prim()

40 53}54

if(u==-1) break

;55 vis[u]=1;56

for(int v=1;v<=n;v++)62}

63} 64}

65}66int

main()

67 80 printf("

%.1lf\n

",ans*100

);81

} 82}83

return0;

84 }

暢通工程再續

這個題太有意思了!沒想到最小生成樹的題還能這麼搞 竟然乙個是託 最後又到最小生成樹的經典做法上了 第一次沒對 我又仔細看了看題 原來這個也是最小權重啊 我一開始根本沒考慮最小的問題 只是把不在一塊的島 連了起來 後來又改了幾次 樣例都對 我覺得也沒啥毛病 但 啊 就是不對 後來我又從csdn上搜了 ...

1875 暢通工程再續

零基礎學演算法135 include using namespace std include const double inf 0x3f3f3f3f 1.0 struct node double d 105 105 int c 島嶼個數 void prim int count 1 for int i...

hdu 1875 暢通工程再續

題目 又是最小生成樹。一開始錯了幾次。我以為是當兩段路大於1000或者小於10就會不符合要求。其實是讀錯題意了。當兩段路大於1000或者小於10。只應該把這段路變成死路。下面是ac include includeusing namespace std define n 9999999 int n d...