1. 程式人生 > >計蒜客:灌溉(生成樹)

計蒜客:灌溉(生成樹)

https://nanti.jisuanke.com/t/34

到了旱季農業生產的灌溉就成了一個大問題。為了保證灌溉的順利,某縣政府決定投資為各個村之間建立灌溉管道。

輸入第1行包括一個整數N,表示某縣的村莊的數量。(3≤N≤100),第2行-結尾為一個N×N的矩陣,表示每個村莊之間的距離。雖然在理論上,他們是N行,每行由N個用空格分隔的陣列成,實際上,他們限制在80個字元,因此,某些行會緊接著另一些行。當然,對角線將會是0,因為不會有線路從第i個村到它本身(任何兩個村之間的距離都不大於100000)。

輸出只有一個,為修建灌溉管道將所有村莊相連在一個灌溉系統裡所需的最小管道長度。

 

 

樣例輸入

4
0 4 9 21
4 0 8 17
9 8 0 16
21 17 16 0

樣例輸出

28

 

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               #include<stdio.h>
#define N 120
int e[N][N],book[N],dis[N];
int main()
{
	int i,j,n,m,u,v,sum,count,min,inf=99999999;
	scanf("%d",&n);
	for(i=1;i<=n;i++)
		for(j=1;j<=n;j++)
			scanf("%d",&e[i][j]);
	for(i=1;i<=n;i++)
		dis[i]=e[1][i];
	book[1]=1;
	count=1;
	sum=0;
	while(count<n)
	{
		min=inf;
		for(i=1;i<=n;i++)
			if(book[i]==0&&min>dis[i])
			{
				u=i;
				min=dis[i];
			}
		count++;
		sum+=dis[u];
		book[u]=1;
		for(v=1;v<=n;v++)
			if(dis[v]>e[u][v])
				dis[v]=e[u][v];
	}
	printf("%d\n",sum);
	return 0;
}