題目描述:
現需要在某城市進行5G網絡建設,已經選取N個地點設置5G基站,編號固定為1到N,接下來需要各個基站之間使用光纖進行連接以確保基站能互聯互通,不同基站之間架設光纖的成本各不相同,且有些節點之間已經存在光纖相連,請你設計算法,計算出能聯通這些基站的最小成本是多少。
注意:基站的聯通具有傳遞性,入基站A與基站B架設了光纖,基站B與基站C也架設了光纖,則基站A與基站C視為可以互相聯通
輸入描述:第一行輸入表示基站的個數N,其中0<N<=20
第二行輸入表示具備光纖直連條件的基站對的數目M,其中0<M<N*(N-1)/2
從第三行開始連續輸入M行數據,格式為 X Y Z P,其中X Y表示基站的編號,0<X<=N,0<Y<=N且x不等于y,Z表示在X Y之間架設光纖的成本,其中0<Z<100,P表示是否已存在光纖連接,0表示未連接,1表示已連接
輸出描述:如果給定條件,可以建設成功互聯互通的5G網絡,則輸出最小的建設成本;
如果給定條件,無法建設成功互聯互通的5G網絡,則輸出-1
示例
示例1
輸入:3
3
1 2 3 0
1 3 1 0
2 3 5 0
輸出:4
說明:只需要在1,2以及2,3基站之間鋪設光纖,其成本為3+1&