NYOJ 38 佈線問題(普利姆)

2021-07-12 05:04:02 字數 1226 閱讀 8374

佈線問題

時間限制: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

#include

#include

#include

#include

#include

using

namespace

std;

const

int maxn=505;

const

int inf=0x3f3f3f3f;

intmap[maxn][maxn];

int dis[maxn];

int vis[maxn];

int n;//n組測試資料

int v;//點的數量

int e;//邊的數量

int min_num;//最小外接花費

void init()

min_num=inf;

for(int i=1; i<=v; i++)

memset(vis,0,sizeof(vis));

vis[1]=1;//0代表是外界

}void prim()

if(minn==inf)

break;

min_cost+=dis[point_minn];

vis[point_minn]=1;

for(int j=1; j<=v; j++)

if(vis[j]==0&&dis[j]>map[point_minn][j])

dis[j]=map[point_minn][j];

}printf("%d\n",min_cost+min_num);

}int main()

return

0;}

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,...