POJ2421 最小生成树/MST(prim)


题意:

给出各个村的距离,并给出已经部分有路连通的两个村,求加最少的路的让各个连通。


思路:


让连通的边的权值设为零,然后求最小生成树即可。



#include 
#include 
#include 
#include 
using namespace std;
const int MAXN=110;
const int INF=100000000;
int dist[MAXN];
struct cedge
{
  int to;
  int w;
  cedge(int _to=0,double _w=INF)
  {
    to=_to;
    w=_w;
  }
}edge;
bool operator<(const cedge &e1,const cedge &e2)
{
  return e1.w>e2.w;
}
int MST(int n,int map[][110])
{
           int ans;
	   int sum=n;
	   int i;
	  	  	   int  visit[110];
  		ans=0;
	priority_queue qu;
	memset(visit,0,sizeof(visit));
	qu.push(cedge(1,0));
	memset(dist,127,sizeof(dist));
	cedge current;
	while(sum--)
	  {
	    do
	      {
		current=qu.top();
		qu.pop();
		//	cout<






你可能感兴趣的:(图论)