码迷,mamicode.com
首页 > 其他好文 > 详细

POJ 1258

时间:2015-02-12 17:58:44      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:

一水,最小生成树,缓解心情

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int inf=(1<<31)-1;
int map[110][110];
int lowest[110];
bool vis[110];

void init(int n){
	for(int i=1;i<=n;i++)
	lowest[i]=inf;
	memset(vis,false,sizeof(vis));
}

void slove(int n){
	lowest[1]=0;
	for(int i=2;i<=n;i++)
	lowest[i]=map[1][i];
	vis[1]=true;
	for(int i=1;i<=n;i++){
		int pos=-1,minc=inf;
		for(int k=1;k<=n;k++){
			if(!vis[k]&&minc>lowest[k]){
				minc=lowest[k]; pos=k;
			}
		}
	//	cout<<minc<<‘ ‘<<pos<<endl;
		if(pos==-1) break;
		vis[pos]=true;
		for(int k=1;k<=n;k++){
			if(!vis[k]){
				if(lowest[k]>map[pos][k])
				lowest[k]=map[pos][k];
			}
		}
	}
}

int main(){
	int n;
	while(scanf("%d",&n)!=EOF){
		for(int i=1;i<=n;i++){
			for(int j=1;j<=n;j++)
			scanf("%d",&map[i][j]);
		}
		init(n);
		slove(n);
		int ans=0;
		for(int i=1;i<=n;i++)
		ans+=lowest[i];
		printf("%d\n",ans);
	}
	return 0;
}

  

POJ 1258

标签:

原文地址:http://www.cnblogs.com/jie-dcai/p/4288509.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!