poj 1861 最小生成树
来源:互联网 发布:穿越星际之淘宝主 编辑:程序博客网 时间:2024/04/30 04:24
最小生成树性质,最小生成树最大边的权值最小
#include<stdio.h>#include<iostream>#include<algorithm>#include<string.h>using namespace std;const int nMax=1005;const int inf=10000000;int mat[nMax][nMax],vis[nMax],p[nMax],dist[nMax];int N,M;int MST(){memset(vis,0,sizeof(vis));for(int i=1;i<=N;i++)dist[i]=(i==1?0:inf);int ret=0;for(int i=0;i<N;i++){int k=-1;for(int j=1;j<=N;j++)if(!vis[j] && (k==-1 || dist[j]<dist[k]))k=j;vis[k]=1;ret=max(ret,dist[k]);for(int j=1;j<=N;j++)if(!vis[j] && mat[k][j]){if(mat[k][j]<dist[j]){ dist[j]=mat[k][j]; p[j]=k;}}}return ret;}int main(){// freopen("test.txt","r",stdin); scanf("%d%d",&N,&M); memset(mat,0,sizeof(mat)); for(int i=0;i<M;i++) { int u,v,w; scanf("%d%d%d",&u,&v,&w); mat[u][v]=mat[v][u]=w; } printf("%d\n%d\n",MST(),N-1); for(int i=2;i<=N;i++) { int u=i,v=p[i]; if(u>v) swap(u,v); printf("%d %d\n",u,v); } return 0;}
- poj 1861 最小生成树
- poj 1861 最小生成树
- poj 1861Network(最小生成树)
- POJ 1861 Network 最小生成树
- POJ 1861 Network ---最小生成树
- poj 1861 Network (kruskal 最小生成树)
- poj 1861 Network 最小生成树
- POJ 1861 Network(最小瓶颈生成树)
- poj 1861 Network(图论:最小生成树)
- poj 1861(最小生成树)
- poj 1861 Network(最小生成树)
- POJ 1861 Network 最小生成树
- POJ 1861 Network【最小生成树】
- poj 最小生成树1258
- POJ 1258 最小生成树
- 最小生成树 poj 2485
- POJ-1258 最小生成树
- poj 1751 最小生成树
- This element neither has attached source nor attached Javadoc and hence no Javadoc could be found
- 应该记住的8位java人物
- Text Processing and Manipulation
- 私有云存储软件
- 设计模式之单例模式(Singleton)
- poj 1861 最小生成树
- Vim 插件自动化管理工具
- 一个五年程序员的学习观
- warning LNK4070的解决办法
- HDU2795(Billboard)线段树
- Linux内核中的jiffies及其作用介绍及jiffies等相关函数详解
- proc sys文件系统对比
- reqeust_firmware
- init.rc语法