hdoj 1863 畅通工程 最小生成树---prime算法
来源:互联网 发布:微谱数据库免费入口 编辑:程序博客网 时间:2024/06/04 23:24
题目: http://acm.hdu.edu.cn/showproblem.php?pid=1863
注意有可能出现无法生成树的情况。
#include <iostream>#include <cstring>using namespace std;const int inf=0xffffff;int weight[105][105],n,m;int prime(){int sum=0;int pre[105];int dis[105];bool visit[105];memset(visit,0,sizeof(visit));for(int i=1;i<=m;i++){dis[i]=weight[1][i];pre[i]=1;}visit[1]=1;for(int i=1;i<m;i++){int minimum=inf;int index=-1;for(int j=1;j<=m;j++){if(!visit[j] &&dis[j]<minimum){minimum=dis[j];index=j;}}if(index==-1)return inf;visit[index]=1;sum+=weight[pre[index]][index];for(int j=1;j<=m;j++){if(!visit[j]&& dis[j]>weight[index][j]){dis[j]=weight[index][j];pre[j]=index;}}}return sum;} int main(){while(cin>>n>>m){if(n==0)break;for(int i=1;i<=m;i++)for(int j=1;j<=m;j++)weight[i][j]=inf;for(int i=0;i<n;i++){int x,y,z;cin>>x>>y>>z;weight[x][y]=z;weight[y][x]=z;}int ans=prime();if(ans==inf){cout<<"?"<<endl;continue;}cout<<ans<<endl;}}
- hdoj 1863 畅通工程 最小生成树---prime算法
- hdoj 1233 还是畅通工程---最小生成树---prime算法
- HDOJ 畅通工程再续(最小生成树--prime)
- HDOJ 1863:畅通工程 Prim算法求解最小生成树
- hdoj 1863 畅通工程 ( 最小生成树--kruskal算法)
- HDOJ 1863 畅通工程(最小生成树)
- hdoj 1863 畅通工程 【最小生成树】
- HDOJ 1863 畅通工程 (最小生成树]
- 畅通工程+prime算法(最小生成树)
- HDU 1863 畅通工程【最小生成树,Prime算法+Kuruskal算法】
- 最小生成树Prime算法(hdu1233还是畅通工程 、hdu1863畅通工程)
- 最小生成树 普利姆算法 HDOJ 1879 继续畅通工程
- hdoj 1233 还是畅通工程---最小生成树---Kruskal算法
- hdoj 继续畅通工程 Kruskal算法实现最小生成树
- HDOJ 1863畅通工程(最小生成树kruskal算法并查集实现)
- Num 31 : HDOJ : 1863 畅通工程 [ kruskal( 克鲁斯卡尔 )算法 ] [ 最小生成树 ]
- HDOJ题目1863畅通工程(最小生成树)
- hdoj 1863 畅通工程 【最小生成树】+【kruskal】
- 如何用JAVA写出无副作用的代码
- 电影资源
- 用友CDM系统,商品资料进价根据采购入库单的商品价格自动更新
- hdu 4614 线段树
- Android OTA 升级(五):updater .
- hdoj 1863 畅通工程 最小生成树---prime算法
- java设计模式(一):Singleton(单例模式)
- 自增运算a++和++b(1)
- 【rmzt】单车&&青春xp主题
- Oracle 基础 语句大全
- win7 远程桌面 连接ubuntu
- HDU-2095
- as3与javaweb结合开发属于个人的类YY的网站(一)
- hdu 2822 Dogs(优先队列)