hdu 1233 还是畅通工程(最小生成树)
2016-02-02 23:34
375 查看
思路:最小生成树模板题。
#include<iostream> #include<stdio.h> #include<string.h> using namespace std; const int INF=0x3f3f3f3f; const int MAXN=110; bool vis[MAXN]; int lowc[MAXN]; int Prim(int cost[][MAXN],int n) { int ans=0; memset(vis,false,sizeof(vis)); vis[0]=true; for(int i=1; i<n; i++)lowc[i]=cost[0][i]; for(int i=1; i<n; i++) { int minc=INF; int p=-1; for(int j=0; j<n; j++) if(!vis[j]&&minc>lowc[j]) { minc=lowc[j]; p=j; } if(minc==INF)return -1;//原图不连通 ans+=minc; vis[p]=true; for(int j=0; j<n; j++) if(!vis[j]&&lowc[j]>cost[p][j]) lowc[j]=cost[p][j]; } return ans; } int main() { int cost[MAXN][MAXN]; int N; int u,v,w; while(~scanf("%d",&N)) { if(N==0)break; for(int i=0; i<MAXN; ++i) { for(int j=0; j<MAXN; ++j) { cost[i][j]=INF; } } int M=N*(N-1)/2; for(int i=0; i<M; ++i) { scanf("%d%d%d",&u,&v,&w); --u; --v; cost[u][v]=cost[v][u]=w; } printf("%d\n",Prim(cost,N)); } return 0; }
相关文章推荐
- js引擎garbage collection的问题
- nefuoj-904:删数问题
- 个人笔记 asp 07 替换函数
- BZOJ 1001: [BeiJing2006] 狼抓兔子
- 【原】AFNetworking源码阅读(六)
- 算法竞赛入门经典,练习代码 ,4.4.1 小问题集锦
- POJ 3126 -- 素数判定(埃氏筛法)+BFS
- 谈对象 MVC 和 多端
- 美化博客的一些实用方法
- 旧版本相机系统
- 振奋人心的摇滚歌单(自己长期听,总结的)
- 【 bzoj 1500 】NOI2005 维修序列 - 平衡树乱搞 treap
- Java内部类与异常类
- 个人笔记 asp 06 asp重定向页面
- 转 用C API 操作MySQL数据库
- 个人笔记 asp 05 asp清除session
- centos6.5搭建vsftp服务器
- 实战系列:OpenStack部署都有哪些方式
- linux tar 使用
- 转:通过金矿模型介绍动态规划