kruskal算法
并查集
#include#include #include #include #include using namespace std; struct node{ int a,b,c; }edge[5000]; int fa[100010],ans; bool cmp(node a,node b){ return a.c prim算法
类似于dijkstra
hdu 1863#include#include #define inf 99999999 int map[110][110],dis[110],book[110]; int m,n; int prim(){ int i,j,count=0,sum=0,k,min=0; for(i=1;i<=m;i++) dis[i]=map[1][i]; dis[1]=0; book[1]=1; count++; while(count map[j][k]) dis[k]=map[j][k]; } } return sum; } int main(){ int i,j,k,a,b,c,sum; while(scanf("%d%d",&n,&m)!=EOF&&n){ sum=0; memset(book,0,sizeof(book)); for(i=1;i<=m;i++) for(j=1;j<=m;j++){ if(i==j) map[i][j]=0; else map[i][j]=inf; } for(i=1;i<=m;i++) dis[i]=inf; for(i=1;i<=n;i++){ scanf("%d%d%d",&a,&b,&c); if(c



