POJ 1258

原创 2016年08月31日 03:47:43

题意:给一个n*n的矩阵 ,矩阵map[i][j]代表i农田和j农田相连的花费,选择一些城市相连,使得从任意一个城市出发都可以到达任意城市,要求这些路的花费总和最小

思路:一个裸的最小生成树,prim

#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
const int qq=105;
int map[qq][qq];
int vis[qq];
int dis[qq];
int n;
int Prim()
{
	memset(vis,0,sizeof(vis));
	for(int i=1; i<=n; ++i)	dis[i]=map[1][i];
	vis[1]=1;
	int minx,k;
	int ans=0;
	for(int i=1; i<n; ++i){
		minx=1e8+5;
		for(int j=1; j<=n; ++j)
			if(!vis[j] && dis[j]<minx)
				minx=dis[k=j];
		ans+=minx;
		vis[k]=1;
		for(int j=1; j<=n; ++j)
			if(!vis[j] && map[k][j]<dis[j])
				dis[j]=map[k][j];
	}
	return ans;
}
int main()
{
	while(scanf("%d",&n)!=EOF){
			for(int j,i=1; i<=n; ++i)
				for(j=1; j<=n; ++j)	scanf("%d",&map[i][j]);
		int ans=Prim();
		printf("%d\n",ans);
	}
	return 0;
}


版权声明:吸猫大法、

相关文章推荐

POJ 1258 Agri-Net 最小生成树 Prim

Agri-Net Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 36307   Accepted: 14598 ...
  • kdwycz
  • kdwycz
  • 2014年03月30日 15:37
  • 371

POJ - 1258 Agri-Net (裸Kruskal)

题目传送门 裸Kruskal 因为数组没开够大,RE了两次……把应该用MAXM的开成MAXN了。。。。 int w[MAXM], u[MAXM], v[MAXM]; int p[MAXN]...

poj1258prim算法

/*poj 1258 *题意:有若干个农场,现需要将各个农场用光纤连接起来,各个农场之间连接的光纤长度也许不同, *要求求出使得将所有农场连接起来的最短光线长度 *算法分析:使用矩阵将各个农...

POJ_1258_Agri-Net(USACO 102)_最小生成树

此题为一道简单的最小生成树问题,输入一个 n*n 的邻接矩阵,然后在图上找最小生成树即可。我用Prim算法解的此题,算法思路也很简单,就是贪心。首先先随便把一个点加入到树中,然后不断地由此扩展其他的点...
  • NeoDQ
  • NeoDQ
  • 2016年06月15日 18:09
  • 166

POJ1258 Agri-Net 【最小生成树Prim】

Agri-Net Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 40889   Acce...

POJ 1258 Agri-Net 最小生成树

题目大意: 给出n的地点,其中

POJ-1258 最小生成树

用了一下PRIM+二叉堆,开始时竟然和DIJKSTRA混了。 /* * hdu * mike-w * 2012-4-17 */ #include #include #include #d...

POJ 1258 Agri-Net (经典MST)

链接:http://poj.org/problem?id=1258 Description Farmer John has been elected mayor of his town! One o...

POJ 1258 Agri-Net (最小生成树+Prim)

POJ 1258 Agri-Net (最小生成树+Prim)

POJ 1258:Agri-Net(最小生成树&&prim)

Agri-Net Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 38918  ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:POJ 1258
举报原因:
原因补充:

(最多只允许输入30个字)