Prim算法求最小生成树

给定一个n个点m条边的无向图,图中可能存在重边和自环,边权可能为负数。

求最小生成树的树边权重之和,如果最小生成树不存在则输出impossible。

给定一张边带权的无向图G=(V, E),其中V表示图中点的集合,E表示图中边的集合,n=|V|,m=|E|。

由V中的全部n个顶点和E中n-1条边构成的无向连通子图被称为G的一棵生成树,其中边的权值之和最小的生成树被称为无向图G的最小生成树。

输入格式

第一行包含两个整数n和m。

接下来m行,每行包含三个整数u,v,w,表示点u和点v之间存在一条权值为w的边。

输出格式

共一行,若存在最小生成树,则输出一个整数,表示最小生成树的树边权重之和,如果最小生成树不存在则输出impossible。

数据范围

1n500

,
1m105

,
图中涉及边的边权的绝对值均不超过10000。

输入样例:

4 5
1 2 1
1 3 2
1 4 3
2 3 2
3 4 4

输出样例:

6
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=501,INF=0X3f3f3f3f;
int n,m,g[N][N],dis[N];
bool st[N];
void prim(){memset(dis,0x3f,sizeof(dis));int res=0;for(int i=0;i<n;i++){int t=-1;for(int j=1;j<=n;j++){if(!st[j]&&(t==-1||dis[t]>dis[j]))t=j;}if(i&&dis[t]==INF){cout<<"impossible"<<endl;return ;}if(i)res+=dis[t];for(int j=1;j<=n;j++)dis[j]=min(dis[j],g[t][j]);st[t]=true;}cout<<res<<endl;
}
int main(void){cin>>n>>m;memset(g,0x3f,sizeof(g));for(int i=0,a,b,c;i<m;i++){cin>>a>>b>>c;g[a][b]=g[b][a]=min(g[a][b],c);}prim();return 0;
}

 

转载于:https://www.cnblogs.com/programyang/p/11197200.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/277181.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用installshield打包的asp.net程序

现在需要打包一个asp.net程序&#xff0c;具体要求如下&#xff1a;1、动态建立web虚拟目录或web站点&#xff0c;并保存至web.config文件相关字段中。2、动态建立ftp目录&#xff0c;并保存至web.config文件相关字段中。3、动态建立数据库联接类型sql或oracle&#xff0c;对sq…

合肥工业大学计算机学院王院长,王青山(合肥工业大学教授)_百度百科

王青山(合肥工业大学教授)语音编辑锁定讨论上传视频本词条缺少概述图&#xff0c;补充相关内容使词条更完整&#xff0c;还能快速升级&#xff0c;赶紧来编辑吧&#xff01;王青山&#xff0c;中国汉族人&#xff0c;合肥工业大学教授&#xff0c;现任中国计算机学会、ACM、IEE…

go 中gcc 编译问题(gcc.exe fatal error no input files compilation terminated)

2019独角兽企业重金招聘Python工程师标准>>> 问题背景 在windows 中编译 go 的pipe时由于pipe依赖sqlite&#xff0c;需要通过cgo进行编译。出现如下异常 gcc.exe fatal error no input files compilation terminated 问题分析 由于 windows中缺少c 的编译环境 解决…

35岁以前把下面十件事做好

35岁是青春的后期&#xff0c;35岁以后是收获的季节&#xff0c;如果你没有资格说这句话&#xff0c;你将会憎恨自己。所以在35岁以前&#xff0c;在烂漫蓬勃的青春年华里&#xff0c;你最好把下面十件事做好&#xff1a; 第一&#xff0c;学会本行业所需要的一切知识并有所发展…

XCode 10 升级问题总结

一、 library not found for -lstdc.6.0.9 xcode 10 中删除了内置 libstdc.6.0.9.tbd&#xff0c;工程中一些SDK依赖这个库&#xff0c;需要把xcode 9.4 的libstdc.6.0.9.tbd 添加到xcode中&#xff0c;重启xcode。 libstdc.6.0.9.tbd 的下载地址&#xff1a;libstdc.6.0.9 真机…

重心转移

做了好些时候的题了&#xff0c;发现做题对身体的摧残比普通的写代码还要重的多&#xff0c;为了我的眼睛&#xff0c;还是不要那么卖命的做ACM了&#xff0c;反正这个假期还算是比较有收获。而且&#xff0c;在没有指导老师的帮助下做难题&#xff0c;根本就是一条艰巨异常的路…

ArcEngine开发体验(附许可)

ArcGIS Engine Developer Guide ArcGIS9.0开发文档《Engine_Developers_Guide.pdf》376 &#xff0c;花了两三天看完了。guide特点&#xff1a;1 guide里面的基础性的东西很多&#xff0c;涉及com开发应用&#xff0c;开发语言&#xff0c;环境和ao架构介绍的内容2 介绍.net开发…

安装mysql-connector-python-8.0.11-py3.6遇到问题

1.提示“This application requires Visual Studio 2015 Redistributable” 下载vc_redist.x86安装即可。 下载链接&#xff1a;https://download.microsoft.com/download/6/D/F/6DF3FF94-F7F9-4F0B-838C-A328D1A7D0EE/vc_redist.x86.exe https://download.microsoft.com/downl…

北京科技计算机与通信工程学院,北京科技大学计算机与通信工程学院-任超

第一作者或通讯作者(*)论文> 2019年&#xff1a;[7]Chao Ren, H. Zhang*, J. Chen and C. Tellambura. "Exploiting Spectrum Access Ability for Cooperative Spectrum Harvesting". IEEE Transactions on Communications, vol. 67, no. 3, pp. 1845-1857, Mar. …

画闭合的多边形 - HTML5 Canvas 作图

10、function DrawPolygon(Canvas,P)功能&#xff1a;画闭合的多边形参数&#xff1a;P是一个包含各个顶点坐标的数组实例&#xff1a;<html><script type"text/javascript" src"bigengineer.js"></script><body><canvas id&qu…

计算机网络硬件的作用是什么,网络技术在计算机软硬件的作用

网络技术在计算机软硬件的作用电子信息工程是一种建立在计算机系统软件技术和计算机网络技术上的工程,在现代国防、科研和通讯等领域发挥着巨大的作用。下面是小编搜集整理的相关内容的论文&#xff0c;欢迎大家阅读参考。摘要&#xff1a;随着我国经济的飞速发展&#xff0c;科…

华为3Com Quidway 2116-SI

上次介绍“华为3Com S1526”经过配置&#xff0c;发现所谓的支持Vlan&#xff0c;其实是无法配置Vlan IP的&#xff0c;所以无法和上级Trunk互联&#xff0c;所谓的可管理也是超级的简单&#xff0c;实在是对得起“SOHO”的定位&#xff0c;简单。不得不更换型号&#xff0c;发…

Linux Makefile 中的陷阱【转】

转自&#xff1a;https://blog.csdn.net/QQ1452008/article/details/52247944 版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 https://blog.csdn.net/QQ1452008/article/details/52247944前言 每个编写过Makefile的程序员都可能遇见过Makefile中内…

html锚点

设置锚点的两种方式 1.设置一个锚点链接<a href"#wang">去找汪星人</a> 在页面中需要的位置设置锚点<a name"wang">汪星人基地</a> 2.设置一个锚点链接<a href"#miao">去找喵星人</a> 在页面中需要的位置设…

大学生计算机课程考试试题,大学生计算机基础课程考试系统研究与实现

摘要&#xff1a;本文主要针对教学评测领域中的主观题评测等难点展开研究.过去在教育评测领域虽然广泛使用测试系统,但由于无法对主观题进行准确有效的判断,造成了以客观题为主的测试局限性.本课题引入智能的算法以实现全自动教学评测,对于教育测试工作有着深远的现实意义. 本系…

初学Vue.js--数据绑定与文本插值

(一)数据双向绑定 数据的双向绑定是Vue.js的核心功能在上一篇记录中已经简单创建了一个Vue实例如下 var myVuenew Vue({ el:#myvue//myvue是已经存在的div&#xff0c;其id值为myvue }) 使用选项el挂载成功后&#xff0c;我们可以通过myVue.$el来访问该元素&#xff0c;如果需要…

网页色彩搭配的内涵

网页的色彩搭配往往是网友们感到头疼的问题&#xff0c;尤其是那些完全没有美术基础的网友。到底用什么色彩搭配好看呢&#xff1f;让我们来看看网友54雨寒的高见吧&#xff01; 一、红色的色感温暖&#xff0c;性格刚烈而外向&#xff0c;是一种对人刺激性很强的色。红色容易引…

VS历程简单记录

当时一开始装VS2015&#xff0c;是用了很长时间了。装了之后是可以用的&#xff0c;打了不少代码的。 后来很长一段时间没用它了&#xff0c;时隔良久&#xff0c;双击快捷方式竟然打开不了&#xff0c;让我“重装”。 其实也不用重装&#xff0c;本机用的Win10&#xff0c;去控…

计算机考研分数2019,2019考研分数线和国家线有什么关系

2019考研学校分数线和国家线有什么区别。国家线即全国硕士研究生考生进入复试基本分数要求&#xff0c;是基础分数线&#xff0c;要有资格参加复试必须过了这条线。国家线今天大概在3月中旬公布。学校分数线(简称学校线)是各招生单位在国家线的基础上&#xff0c;根据本校有关专…

记录一次react项目配置过程

1.为什么要配置react而不是脚手架 因为要知其然,最好还要知其所以然&#xff01; 2.配置对象 webpack webpack-dev-server babel eslint 3.配置过程 1.webpack 第一步:引入必须文件 const path require("path"); const webpack require("webpack");//为了…