杭电ACM1233(prim)
来源:互联网 发布:网络人旗舰版 编辑:程序博客网 时间:2024/06/05 09:25
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1233
题目大意:中文题目
解题思路:简单的最小生成树问题,可以用Kruskal或者prim算法解决,这里用prim算法。
AC代码:
#include <iostream>#include <string.h>using namespace std;#define INF 2000000int prim(int matrix[105][105],int n){ bool visited[105]; int result=0; int p[n]; for(int i=1;i<=n;i++) { p[i] = matrix[1][i]; } memset(visited,0,sizeof(visited)); for(int i=1;i<=n;i++) { int min = INF; int index=0; for(int j=1;j<=n;j++) { if(p[j]<min&&visited[j]==0) { min = p[j]; index = j; } } visited[index] = 1; result+=p[index]; for(int j=1;j<=n;j++) { if(!visited[j])p[j] = matrix[index][j]<p[j]?matrix[index][j]:p[j]; } } return result;}int main(){ int n; int count; int a,b,c; int matrix[105][105]; while(cin>>n) { if(n==0)break; count=(n-1)*n/2; for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { matrix[i][j] = INF; if(i==j)matrix[i][j] = 0; } } for(int i=1;i<=count;i++) { cin>>a>>b>>c; matrix[a][b] = matrix[b][a] = c; } if(n==1)cout<<0<<endl; else cout<<prim(matrix,n)<<endl; } return 0;}
0 0
- 杭电ACM1233(prim)
- 杭电ACM1233(最小生成树)
- 杭电ACM1863(prim)
- 杭电ACM1162(prim)
- 杭电-1233还是畅通工程(kruskal,prim)
- 杭电1162Eddy's picture(prim算法)
- 杭电1102-------------贪心策略-prim算法
- 航电1102-Constructing Roads (prim)
- 杭电3371 Connect the Cities(最小生成树 prim)
- 杭电 ACM HDU 1162 Eddy's picture (最短路 prim算法)
- 杭电oj1875畅通工程再续(prim VS kruskal) 模板题
- 杭电2122Ice_cream’s world III(kruskal算法与prim算法)
- 【最小生成树+Prim】杭电 hdu 1863 畅通工程
- 【最小生成树+Prim】杭电 hdu 1102 Constructing Roads
- 杭电hdu 1233 还是畅通工程 prim
- Constructing Roads HDU杭电1102【Kruscal || Prim】
- Jungle Roads HDU杭电1301 【Kruscal || Prim】
- 杭电-1879继续畅通工程(kruskal,prim)
- iOS开发UI篇--iOS动画(Core Animation)总结
- 如何在mac上用apache ab进行web测试
- swift 快速奔跑的兔几 本节的内容是:使用沙盒儿
- SSH框架——走进Struts2
- 关于cin输入的问题
- 杭电ACM1233(prim)
- 探究mysql预编译
- HEVC官方软件HM源代码简单分析-编码器TAppEncoder
- cocos2d-x学习笔记(6)背景音乐和音效
- 51nod 1116 K进制下的大数 (暴力枚举)
- Storm常见模式3——流聚合
- 初探UiAutomator(一)
- WebView使用
- sicily 1201. 01000001