题目:给出一个无向图,求出最小生成树,如果该图不连通,则输出orz。

解法:Kruskal求MST。

 1 #include<cstdio>
2 #include<cstdlib>
3 #include<cstring>
4 #include<iostream>
5 #include<algorithm>
6 using namespace std;
7
8 const int N=5010,M=200010;
9 int fa[N];
10 struct edge{int x,y,d;}a[M];
11
12 int ffind(int x)
13 {
14 if (fa[x]!=x) fa[x]=ffind(fa[x]);
15 return fa[x];
16 }
17 bool cmp(edge x,edge y) {return x.d<y.d;}
18 int main()
19 {
20 int n,m;
21 scanf("%d%d",&n,&m);
22 int x,y,d;
23 for (int i=1;i<=m;i++)
24 scanf("%d%d%d",&a[i].x,&a[i].y,&a[i].d);
25 sort(a+1,a+1+m,cmp);
26 for (int i=1;i<=n;i++) fa[i]=i;
27 int sum=0,cnt=0;
28 for (int i=1;i<=m;i++)
29 {
30 int x=a[i].x,y=a[i].y;
31 int xx=ffind(x),yy=ffind(y);
32 if (xx!=yy)
33 {
34 fa[xx]=yy;
35 sum+=a[i].d;
36 cnt++;
37 if (cnt==n-1) break;
38 }
39 }
40 if (cnt==n-1) printf("%d\n",sum);
41 else printf("orz\n");
42 return 0;
43 }

最新文章

  1. S5PV210_串行通信
  2. oracle db link的查看创建与删除
  3. ae 打开地图文档
  4. 指定页面配置https(apache/tomcat)
  5. SQL Server DBA日常查询视图_数据库对象视图
  6. Linux 服务器的网络配置 - 2. 查看 Linux 服务器的进程
  7. DIV半透明,内层不受影响的代码
  8. Java Map集合按照key和value排序之法
  9. HTML表格布局
  10. Linux-系统编程-知识点概述
  11. Python 关于在ubuntu部署Django项目
  12. Alpha冲刺随笔汇总
  13. oracle中的对象创建及删除语句【原创】
  14. git在不同平台windows、linux、mac 上换行符的问题
  15. [py][mx]django-解决注册用户已存在,激活链接判断
  16. VS2015编译CURL7.54.0源码
  17. MySQL高级函数case的使用技巧----与sum结合实现分段统计
  18. jquery省市选择案例
  19. storyboard,xib
  20. springboot2.1.1 中集成websocket 单元测试异常

热门文章

  1. 讲讲Java8的Optional类
  2. 真的,kafka 入门看这一篇准没错!
  3. Nginx 实现动态负载均衡(Nginx-1.10.1 + Consul v0.6.4)
  4. xtrabackup迁移mysql5.7.32
  5. docker 数据卷的挂载和使用
  6. SWPU2019
  7. Kubernetes 升级过程记录:从 1.17.0 升级至最新版 1.20.2
  8. python中IF语句容易犯的错误CASE
  9. 都知道Base64,Base32你能实现吗?
  10. maven打包三种方式