//稀疏图
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
const int N = , INF = 0x3f3f3f3f;
int n, m;
int g[N][N];
int dist[N];
bool st[N];
int prim() {
memset(dist, 0x3f, sizeof dist);//先初始化为正无穷
int res = ;//权重
for (int i = ; i < n; i ++ ) {
int t = -;//每次找不在集合当中距离集合最小的点
for (int j = ; j <= n; j ++ )
if (!st[j] && (t == - || dist[t] > dist[j]))
t = j;//找最小
if (i && dist[t] == INF) return INF;
//如果不是最开始选的点,而且到集合的距离为正无穷,说明不联通,直接返回
if (i) res += dist[t];//加上距离
st[t] = true;//标记找过了
//更新的到集合的距离,也就是拿找的最小的点到其他点的距离和之前的比较,取较小的
for (int j = ; j <= n; j ++ ) dist[j] = min(dist[j], g[t][j]);
}
return res;
}
int main() {
scanf("%d%d", &n, &m);
memset(g, 0x3f, sizeof g);
while (m -- ) {
int a, b, c;
scanf("%d%d%d", &a, &b, &c);
g[a][b] = g[b][a] = min(g[a][b], c);
}
int t = prim();
if (t == INF) puts("impossible");
else printf("%d\n", t);
return ;
}

最新文章

  1. jQuery回调、递延对象总结(上篇)—— jQuery.Callbacks
  2. OS X 添加环境变量
  3. BizTalk开发系列(二十五) SQL Adapter
  4. 基于B/S模式的推送
  5. spring 配置和实例
  6. Mongodb 上传图片
  7. 曾经让我很吐血的Bug(初学者)
  8. Ambari2.6.0 安装HDP2.6.3(离线安装)
  9. Codeforces300 F. A Heap of Heaps
  10. Vs2017获取Git空仓库后创建解决方案及项目无法推送,推送失败的问题.
  11. 20165326 java实验五
  12. python入门(一):进入python的交互模式、pip的使用和数据类型
  13. Python/Jupyter Notebook以及可视化的运用
  14. MS-Windows中的Git命令行
  15. 2018.11.01 loj#2319. 「NOIP2017」列队(线段树)
  16. uboot下emmc内容烧写(拷贝)步骤
  17. 怎样在Windows与Centos下的Linux间共享文件,如果mnt文件夹不显示,可能是mnt缺少共享支持
  18. hive的分桶
  19. [svc]tomcat配置文件详解
  20. [oracle] DBLINK +同义词,实现本地数据库访问另一台机器的数据库

热门文章

  1. IntelliJ IDEA Ultimate 6.2 版本免费试用期过期后如何破解
  2. display: inline-block 布局
  3. 第十八次CSP认证游记 | 2019.12.15
  4. centos8 apache+mysql+php
  5. jmeter请求报错
  6. [HNOI2003] 消防局的设立 - 树形dp
  7. linux - 删除软件包
  8. navicat异常 - 1130-host ... is not allowed to connect to this MySql server
  9. 阿里云负载均衡-note
  10. MyEclipse设置不编译js部分