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

poj 3522 枚舉+kruskal

編輯:C++入門知識

poj 3522 枚舉+kruskal


過了樣例就能AC

注意一點 0條邊特意判斷下。是否無法構成生成樹也要判斷

#include
#include
#include
using namespace std;
#define maxn 110
int parent[maxn];
int N,M;
struct edge
{
	int u,v,w;
}edges[maxn*maxn];
int cmp(void const *a,void const *b)
{
	return ((struct edge *)a)->w-((struct edge *)b)->w;
}
int find(int a)
{
	if(parent[a]==-1)
		return a;
	return find(parent[a]);
}
int krusal()
{
	int i,j,k,m,n;
	int ans,tmp;
	qsort(edges,M,sizeof(edges[0]),cmp);
	ans=0x3fffffff;
	if(M==0)
		return -1;
	for(i=0;i

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