POJ 2485 Highways(最小生成树 Prim)
大意:给你一个用邻接矩阵形式存储的有n个顶点的无向图,让你求它的最小生成树并求出在这个生成树里面最大的边的权值。
思路:用Prim求,判断条件改一下就行。
PS:dis数组初始化的时候用memset一直RE,希望有知道怎么回事的不吝赐教,谢了~
![](/assets/blank.gif)
![](/assets/blank.gif)
1 #include <stdio.h> 2 #include <string.h> 3 #define INF 0x3f3f3f3f 4 5 int Map[510][510]; 6 int dis[510]; 7 int n, m; 8 9 int min(int a, int b) 10 { 11 return a > b ? b : a; 12 } 13 14 int Prim() 15 { 16 int Min_ele, Min_node; 17 for(int i = 1; i <= n; i++) 18 { 19 dis[i] = INF; 20 } 21 ///这里如果用memset(dis, INF, sizeof(dis));的话会一直RE 22 int r = 1; 23 int Ans = 0; 24 for(int i = 1; i < n; i++) 25 { 26 Min_ele = INF; 27 dis[r] = -1; 28 for(int j = 1; j <= n; j++) 29 { 30 if(j != r && dis[j] >= 0) 31 { 32 dis[j] = min(dis[j], Map[r][j]); 33 if(dis[j] < Min_ele) 34 { 35 Min_ele = dis[j]; 36 Min_node = j; 37 } 38 } 39 } 40 r = Min_node; 41 if(Min_ele > Ans) 42 Ans = Min_ele; 43 } 44 return Ans; 45 } 46 47 void Solve() 48 { 49 scanf("%d", &m); 50 while(m--) 51 { 52 scanf("%d", &n); 53 memset(Map, 0, sizeof(Map)); 54 for(int i = 1; i <= n; i++) 55 { 56 for(int j = 1; j <= n; j++) 57 { 58 scanf("%d", &Map[i][j]); 59 } 60 } 61 printf("%d\n", Prim()); 62 } 63 } 64 65 int main() 66 { 67 Solve(); 68 69 return 0; 70 }
Highways
转载于:https://www.cnblogs.com/Silence-AC/p/3531342.html
POJ 2485 Highways(最小生成树 Prim)相关推荐
- POJ 2485 Highways (prim最小生成树)
对于终于生成的最小生成树中最长边所连接的两点来说 不存在更短的边使得该两点以不论什么方式联通 对于本题来说 最小生成树中的最长边的边长就是使整个图联通的最长边的边长 由此可知仅仅要对给出城市所抽象出的 ...
- POJ 2485 - Highways(求最小生成树的最大权值-Kruskal算法)
题目 Language:Default Highways Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 36414 Accept ...
- poj 1751 Highways 最小生成树Kruskal(、Prim还没写
OJ交不了,,, #pragma warning(disable:4996) #include<iostream> #include<string> #include<c ...
- poj 2031 BuildingaSpaceStation 最小生成树 Prim、Kruskal
题意: 三维空间里有一些球,给出球心坐标和半径,搭建通路,使得他们能够相互连通.如果两个球相交或者相切,则算已连通,无需再搭桥.求搭建通路的最小费用(费用就是边权,就是两个球面之间的距离). Inpu ...
- poj 2485 Highways
答案就是最小生成树中权值最大的边 #include<cstdio> #include<cstring> #include<cmath> #include<al ...
- poj 2421 ConstructingRoads 最小生成树 Prim、Kruskal
题意: 有n个村庄,从1到n,你应该修建一些道路,这样每两个村庄就可以互相连接.我们说两个村庄A和B是相连的,如果并且仅当在A和B之间有一条道路,或者存在一个村庄C,使得A和C之间有一条道路,并且C和 ...
- 【POJ 2485】 Highways
[POJ 2485] Highways 最小生成树模板 Prim #includeusing namespace std;int mp[501][501]; int dis[501]; bool vi ...
- poj1861 最小生成树 prim amp; kruskal
// poj1861 最小生成树 prim & kruskal // // 一个水题,为的仅仅是回味一下模板.日后好有个照顾不是#include <cstdio> #include ...
- 最小生成树prim、
过年那几天确实没好好学习.在老家闲着也是闲着.可是就是没看书. 回来这几天又一直在弄个人博客.买域名云服务器备案什么的- -. 麻烦死了呢. 在腾讯花1块钱备案了一个网站www.goodgoodstu ...
最新文章
- 用NFS挂载root出现:NFS: failed to create MNT RPC client, status=-101(-110)
- PHP和MySQL处理树状、分级、无限分类、分层数据的方法
- 【机器学习基础】你应该知道的LightGBM各种操作!
- SpringBoot高级-消息-RabbitTemplate发送接受消息序列化机制
- python中的多线程----以2个线程卖票为例
- IOS-程序员和设计师必备的20个CSS工具
- 深度学习在NLP领域的发展之Transformer
- mysql+修改字段长度语句,mysql修改字段长度的sql语句分享
- ab plc编程软件计算机语言,AB plc-Rslogix5000 software 软件编程实例.pdf
- HTML5、canvas颜色拾取器
- Win10PE启动维护工具 | U盘WinPE下载
- 对话阿里云弹性计算负责人褚霸:把计算做到极致,关键还不加价!
- 程序后台运行没问题,但是sql没有执行,查询数据为空
- Markdown 数学公式总结
- Linux之Xshell工具使用
- 5G网速比4G快那么多,是否意味着4G即将淘汰?
- 电脑显示无法加载远程访问连接管理服务器,win10系统宽带连接提示无法加载远程访问连接管理器服务错误711的解决办法...
- linux下如何启动ice服务器,linux: ICE搭建
- cd linux menu.lst,怎么把cdlinux做成u盘启动?u盘启动cdlinux制作准备工具方法
- 在mysql中怎么存储表情符号_Emoji表情符号在MySQL数据库中的存储