時間限制:
1000 ms | 記憶體限制:
65535 kb
難度:4
描述
南陽理工學院要進行用電線路改造,現在校長要求設計師設計出一種佈線方式,該佈線方式需要滿足以下條件:
1、把所有的樓都供上電。
2、所用電線花費最少
輸入
第一行是乙個整數n表示有n組測試資料。(n<5)
每組測試資料的第一行是兩個整數v,e.
v表示學校裡樓的總個數(v<=500)
隨後的e行裡,每行有三個整數a,b,c表示a與b之間如果建鋪設線路花費為c(c<=100)。(哪兩棟樓間如果沒有指明花費,則表示這兩棟樓直接連通需要費用太大或者不可能連通)
隨後的1行裡,有v個整數,其中第i個數表示從第i號樓接線到外界供電設施所需要的費用。( 0
輸出每組測試資料輸出乙個正整數,表示鋪設滿足校長要求的線路的最小花費。
樣例輸入
1樣例輸出4 61 2 10
2 3 10
3 1 10
1 4 1
2 4 1
3 4 1
1 3 5 6
4思路:prim演算法水題。
1 #include2 #include3 #includeview code4#define inf 0xfffff
5int g[501][501];6
int lowcost[250000],used[250000],closet[250000];7
intans;
8void prim(int n,inta)9
17//
for(i=1;i<=n;i++)
18//
21//
printf("\n");
22 used[a]=1;23
for(i=1;i<=n;i++)
2434
}35 used[j]=1
;
36 ans+=g[j][closet[j]];
37//
printf("j=%d ans=%d\n",j,ans);
38for(k=1;k<=n;k++)
3945}46
}4748}
49int
main()
5064
for(i=1;i<=e;i++)
6570
/*for(i=1;i<=v;i++)
7176
printf("\n");77}
*/78
for(i=1;i<=v;i++)
7986}87
prim(v,j);
88 printf("
%d\n
",ans+min); 89}
90return0;
91 }
nyoj 38 佈線問題
nyoj 38 佈線問題 時間限制 1000 ms 記憶體限制 65535 kb難度 4 描述 南陽理工學院要進行用電線路改造,現在校長要求設計師設計出一種佈線方式,該佈線方式需要滿足以下條件 1 把所有的樓都供上電。2 所用電線花費最少 輸入第一行是乙個整數n表示有n組測試資料。n 5 每組測試資...
佈線問題 nyoj38
時間限制 1000 ms 記憶體限制 65535 kb 難度 4 描述 南陽理工學院要進行用電線路改造,現在校長要求設計師設計出一種佈線方式,該佈線方式需要滿足以下條件 1 把所有的樓都供上電。2 所用電線花費最少 輸入第一行是乙個整數n表示有n組測試資料。n 5 每組測試資料的第一行是兩個整數v,...
NYOJ 38 佈線問題
時間限制 1000 ms 記憶體限制 65535 kb 難度 4 描述 南陽理工學院要進行用電線路改造,現在校長要求設計師設計出一種佈線方式,該佈線方式需要滿足以下條件 1 把所有的樓都供上電。2 所用電線花費最少 輸入第一行是乙個整數n表示有n組測試資料。n 5 每組測試資料的第一行是兩個整數v,...