程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> poj 1679 The Unique MST 次小生成樹

poj 1679 The Unique MST 次小生成樹

編輯:C++入門知識

SoL:裸的次小生成樹。。。

推薦:KuangBin巨巨的博客 模版 + 詳解 

 

 

#include 
#include 
#include 
#include 

using namespace std;

const int maxn = 100 + 10;
const int INF = 0x3f3f3f3f;

int ans;
bool vis[maxn];
int lowc[maxn];
int pre[maxn];
int Max[maxn][maxn];
bool used[maxn][maxn];

int Prim(int cost[][maxn],int n)
{
	int ans=0;
	memset(vis,false,sizeof(vis));
	memset(Max,0,sizeof(Max));
	memset(used,false,sizeof(used));
	vis[0]=true;
	pre[0]=-1;
	for(int i=1;ilowc[j])
			{
				minc=lowc[j];
				p=j;
			}
		if(minc==INF) return -1;
		ans+=minc;
		vis[p]=true;
		used[p][pre[p]]=used[pre[p]][p]=true;
		for(int j=0;jcost[p][j])
			{
				lowc[j]=cost[p][j];
				pre[j]=p;
			}
		}
	}
	return ans;
}

int smst(int cost[][maxn],int n)
{
	int Min=INF;
	for(int i=0;i

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved