HDUOJ---1233还是畅通工程
还是畅通工程
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 22101 Accepted Submission(s): 9871
当N为0时,输入结束,该用例不被处理。
Hint
Huge input, scanf is recommended.
1 #include<stdio.h> 2 #include<string.h> 3 const int inf=0x3f3f3f3f; 4 int vis[101],lowc[101]; 5 int sta[101][101]; 6 int prim(int cost[][101], int n) 7 { 8 int i,j,p; 9 int minc,res=0; 10 memset(vis , 0 , sizeof(vis)); 11 vis[0] = 1; 12 for(i=1;i<n;i++) 13 { 14 lowc[i] = cost[0][i]; 15 } 16 for(i=1 ; i<n ; i++) 17 { 18 minc=inf ; //<初始化一个较大的数> 19 p=-1; 20 for(j=0 ; j<n ; j++) 21 { 22 if(0==vis[j] && minc > lowc[j] ) 23 { 24 minc = lowc[j]; 25 p = j; 26 } 27 } 28 if(inf == minc) return -1; //原图不联通 29 res += minc ; 30 vis[p] = 1; 31 for( j=0 ; j<n ; j++) 32 { 33 if(0==vis[j] && lowc[j] > cost[p][j]) 34 lowc[j] = cost[p][j]; 35 } 36 } 37 return res ; 38 } 39 int main( void ) 40 { 41 int n,i,a,b,c,j; 42 while(scanf("%d",&n),n) 43 { 44 for(i=0;i<n;i++) 45 { 46 for(j=0;j<n;j++) 47 { 48 sta[i][j]=inf; 49 } 50 } 51 for(i=0 ; i<n*(n-1)/2 ; i++) 52 { 53 scanf("%d%d%d",&a,&b,&c); 54 sta[a-1][b-1]=sta[b-1][a-1]=c; 55 } 56 printf("%d\n",prim(sta,n)); 57 } 58 return 0; 59 }
View Code
转载于:https://www.cnblogs.com/gongxijun/p/3566553.html
HDUOJ---1233还是畅通工程相关推荐
- Kruskal HDOJ 1233 还是畅通工程
题目传送门 1 /* 2 最小生成树之kruskal算法--并查集(数据结构)实现 3 建立一个结构体,记录两点和它们的距离,依照距离升序排序 4 不连通就累加距离,即为最小生成树的长度 5 */ 6 ...
- HDU 1233 还是畅通工程(最小生成树 Prim+Kruskal)
原题地址 http://acm.hdu.edu.cn/showproblem.php?pid=1233 题意:(最小生成树裸题)有N个村庄,给出村庄两两之间的距离,要求铺设公路,使得任何两个村庄间都可 ...
- HDOJ 1233 还是畅通工程
实在伤心,一口气A了三个畅通工程,太简单的原因把.这个畅通工程求的是最小的公路长度,就是最小生成树,点太少无向图,prim就好了. #include<stdio.h> #include&l ...
- hdu 1233 还是畅通工程 最小生成树(prim算法 + kruskal算法)
还是畅通工程 Time Limit: 4000/2 ...
- HDU 1233 还是畅通工程(最小生成树)
传送门 还是畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...
- HDU 1233 - 还是畅通工程
Problem Description 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离.省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直 ...
- HDU 1233 还是畅通工程。
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1233 x 解题思路: 简单的最小生成树 实现代码: #include <iostream> ...
- hdu 1233 还是畅通工程 Kruskal 最小生成树 并查集
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=1233 模板题,kruskal求最小生成树. 并查集是个好东西啊 就是注意一点 输入边的信息时,角标 ...
- hdu 1233 还是畅通工程(最小生成树的Prim和Kruskal两种算法的c++实现)(prim算法详解)...
赤裸裸滴最小生成树(MST),刚学的玩意,用两种方法熟练一下.(都是greedy) Kruskal方法:先对边按照代价非递减排序,再不断添加边且不产生环路,当边数=点数-1结束.判断加入(v,w)是否 ...
- 还是畅通工程(prim和kruskal)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1233 还是畅通工程 Time Limit: 4000/2000 MS (Java/Others) ...
最新文章
- 电脑启动后,没有桌面
- UA MATH571B 试验设计IV RCBD与Latin Square上
- Java队列 PriorityQueue
- 成员变量修饰词的作用
- 量化策略开发中的参数调优
- asp.net中获取全文图片地址的方法
- Codeforces Round #328 (Div. 2)D. Super M 虚树直径
- 统一认证 ldap mysql_ZABBIX 对接 LDAP实现用户登陆统一认证
- c语言最小公倍数最简单求法,c语言最小公倍数与最大公约数的求法集锦
- 深圳LED背光源模组十大生产厂家排名是什么呢
- pathon的安装与环境部署,数据类型
- 【星座】十二星座会因为什么变穷
- RxJava学习资源
- C语言手机通讯录系统
- 个人电子邮箱怎么填写?电子邮箱格式怎么写?
- DoT/DoH/DoQ 之 CoreDNS配置
- 【Excel】引用人民银行同期贷款利率(基准利率)和LPR利率的利息计算器(多项目)
- MySql新增、修改、删除表字段、字段数据类型、长度等(附带各种实际案例语句)
- 动态、静态和伪静态url路径如何分辨
- Hello World的正确打zhuang开bi方式———lambda表达式
热门文章
- pands选取满足条件的行和列
- gedit增加对指定文件格式(如qml)的识别和启用合适的语法高亮
- 测量程序运行时间;getTickCount()与getTickFrequency()
- eclipse中html设置,无法在eclipse中设置HTMLUNIT
- 构造方法之间如何调用?
- 【Django 2021年最新版教程30】django项目部署到华为云(nginx uWSGI mysql方式)
- Docker教程小白实操入门(4)--如何停止一个容器
- LeetCode----两数之和
- python语法学习第五天--函数(2)
- 转字符串_【转】什么是字符串?字符串是用来做什么的?