HDU1223-还是畅通工程-prim算法(模板题)
2015-08-30 20:49
357 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1233
好吧,终于是中文题了,哈哈。。。
好吧,终于是中文题了,哈哈。。。
#include<iostream> #include<string> #include<cstdio> #include<cstring> #include<map> #include<queue> #include<cmath> #include<stack> #include<set> #include<vector> #include<algorithm> #define LL long long #define inf 1<<29 #define s(a) scanf("%d",&a) #define CL(a,b) memset(a,b,sizeof(a)) using namespace std; const int N=205; int n,m,a,b,c; string s1,s2; int Map ; int dist ; bool vis ; int prim() { CL(vis,false); int i,res=0; for(int i=1;i<=n;i++) dist[i]=Map[1][i]; vis[1]=true; for(i=2;i<=n;i++){ int v=-1; for(int u=1;u<=n;u++) if(!vis[u]&&(v==-1||dist[u]<dist[v])) v=u; if(v==-1) break; res+=dist[v]; vis[v]=true; for(int u=1;u<=n;u++) dist[u]=min(dist[u],Map[v][u]); } if(i<=n) return -1; return res; } int main() { while(~s(n)){ if(!n) break; for(int i=1;i<=(n*(n-1)/2);i++){ scanf("%d%d%d",&a,&b,&c); Map[a][b]=Map[b][a]=c; } printf("%d\n",prim()); } return 0; }
相关文章推荐
- 你是谁不重要 重要的是你和谁在一起
- 关于分布式系统的数据一致性问题(三)
- UVA 590 二十一 Always on the run
- UVA 442 二十 Matrix Chain Multiplication
- “全排列”问题系列(一)[LeetCode] - 用交换元素法生成全排列及其应用,例题: Permutations I 和 II, N-Queens I 和 II,数独问题
- Java基础知识强化10:Java中的中间缓存变量机制
- UFFS文件系统使用心得
- 【JavaScript】DOM操作下拉框
- iOS学习总结之UI框架UI之文本输入控件( UITextField)
- 分支结构练习-6.实现购物结算功能
- A Gentle Guide to Machine Learning
- UVA 437 十九 The Tower of Babylon
- 数据库面试题
- 卸载win10内置windows app的方法
- chrmoe debug
- IE8下兼容rgba颜色的半透明背景
- UVA 10254 十八 The Priest Mathematician
- 基于cordova的 百度混音插件 iOS版
- wamp 中添加虚拟主机
- iOS_UI_1_UIView