Highways

 

大意:给你一个用邻接矩阵形式存储的有n个顶点的无向图,让你求它的最小生成树并求出在这个生成树里面最大的边的权值。

思路:用Prim求,判断条件改一下就行。

PS:dis数组初始化的时候用memset一直RE,希望有知道怎么回事的不吝赐教,谢了~

 

 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)相关推荐

  1. POJ 2485 Highways (prim最小生成树)

    对于终于生成的最小生成树中最长边所连接的两点来说 不存在更短的边使得该两点以不论什么方式联通 对于本题来说 最小生成树中的最长边的边长就是使整个图联通的最长边的边长 由此可知仅仅要对给出城市所抽象出的 ...

  2. POJ 2485 - Highways(求最小生成树的最大权值-Kruskal算法)

    题目 Language:Default Highways Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 36414 Accept ...

  3. poj 1751 Highways 最小生成树Kruskal(、Prim还没写

    OJ交不了,,, #pragma warning(disable:4996) #include<iostream> #include<string> #include<c ...

  4. poj 2031 BuildingaSpaceStation 最小生成树 Prim、Kruskal

    题意: 三维空间里有一些球,给出球心坐标和半径,搭建通路,使得他们能够相互连通.如果两个球相交或者相切,则算已连通,无需再搭桥.求搭建通路的最小费用(费用就是边权,就是两个球面之间的距离). Inpu ...

  5. poj 2485 Highways

    答案就是最小生成树中权值最大的边 #include<cstdio> #include<cstring> #include<cmath> #include<al ...

  6. poj 2421 ConstructingRoads 最小生成树 Prim、Kruskal

    题意: 有n个村庄,从1到n,你应该修建一些道路,这样每两个村庄就可以互相连接.我们说两个村庄A和B是相连的,如果并且仅当在A和B之间有一条道路,或者存在一个村庄C,使得A和C之间有一条道路,并且C和 ...

  7. 【POJ 2485】 Highways

    [POJ 2485] Highways 最小生成树模板 Prim #includeusing namespace std;int mp[501][501]; int dis[501]; bool vi ...

  8. poj1861 最小生成树 prim amp; kruskal

    // poj1861 最小生成树 prim & kruskal // // 一个水题,为的仅仅是回味一下模板.日后好有个照顾不是#include <cstdio> #include ...

  9. 最小生成树prim、

    过年那几天确实没好好学习.在老家闲着也是闲着.可是就是没看书. 回来这几天又一直在弄个人博客.买域名云服务器备案什么的- -. 麻烦死了呢. 在腾讯花1块钱备案了一个网站www.goodgoodstu ...

最新文章

  1. 用NFS挂载root出现:NFS: failed to create MNT RPC client, status=-101(-110)
  2. PHP和MySQL处理树状、分级、无限分类、分层数据的方法
  3. 【机器学习基础】你应该知道的LightGBM各种操作!
  4. SpringBoot高级-消息-RabbitTemplate发送接受消息序列化机制
  5. python中的多线程----以2个线程卖票为例
  6. IOS-程序员和设计师必备的20个CSS工具
  7. 深度学习在NLP领域的发展之Transformer
  8. mysql+修改字段长度语句,mysql修改字段长度的sql语句分享
  9. ab plc编程软件计算机语言,AB plc-Rslogix5000 software 软件编程实例.pdf
  10. HTML5、canvas颜色拾取器
  11. Win10PE启动维护工具 | U盘WinPE下载
  12. 对话阿里云弹性计算负责人褚霸:把计算做到极致,关键还不加价!
  13. 程序后台运行没问题,但是sql没有执行,查询数据为空
  14. Markdown 数学公式总结
  15. Linux之Xshell工具使用
  16. 5G网速比4G快那么多,是否意味着4G即将淘汰?
  17. 电脑显示无法加载远程访问连接管理服务器,win10系统宽带连接提示无法加载远程访问连接管理器服务错误711的解决办法...
  18. linux下如何启动ice服务器,linux: ICE搭建
  19. cd linux menu.lst,怎么把cdlinux做成u盘启动?u盘启动cdlinux制作准备工具方法
  20. 在mysql中怎么存储表情符号_Emoji表情符号在MySQL数据库中的存储

热门文章

  1. 爬虫之request
  2. 文件手动删除后 同步到git
  3. webpack-dev-server 搭建本地服务以及浏览器实时刷新
  4. Studio 一些使用
  5. sublime text3下BracketHighlighter的配置方法
  6. JavaScript创建命名空间
  7. [Webapp]国内移动端浏览器占比
  8. SpringBoot中的Tomcat是如何启动的
  9. 10、jeecg 默认为空的字段值是如何被填充的?
  10. sign check fail: check Sign and Data Fail解决方案