博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
wikioi 1078 最小生成树 Kruskal算法
阅读量:5808 次
发布时间:2019-06-18

本文共 1254 字,大约阅读时间需要 4 分钟。

1078 最小生成树

 

时间限制: 1 s
空间限制: 128000 KB
题目等级 : 白银 Silver
 
 
 
题目描述
Description

农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场。当然,他需要你的 帮助。 约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其他农场。为了使花费最少,他想铺设最短的光纤去连接所有的农场。 你将得到一份各农场之间连接费用的列表,你必须找出能连接所有农场并所用光纤最短的方案。 每两个农场间的距离不会超过100000

输入描述
Input Description

第一行: 农场的个数,N(3<=N<=100)。

第二行..结尾: 接下来的行包含了一个N*N的矩阵,表示每个农场之间的距离。理论上,他们是N行,每行由N个用空格分隔的数组成,实际上,他们每行限制在80个字符以 内,因此,某些行会紧接着另一些行。当然,对角线将会是0,因为线路从第i个农场到它本身的距离在本题中没有意义。

输出描述
Output Description

只有一个输出,是连接到每个农场的光纤的最小长度和。

样例输入
Sample Input

4

0  4  9 21

4  0  8 17

9  8  0 16

21 17 16  0

样例输出
Sample Output

28

 

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
typedef long long ll;using namespace std;#define sspeed ios_base::sync_with_stdio(0);cin.tie(0)#define maxn 1001const int inf=1000000; //无限大int u[maxn*maxn],v[maxn*maxn],w[maxn*maxn],r[maxn*maxn];//两个端点存在u和v数组中,边权存在w数组中int p[maxn*maxn];int n,m;int cmp(const int i,const int j){ return w[i]
>t; int flag[maxn][maxn]; memset(flag,0,sizeof(flag)); n=0,m=0; n=t; int kiss; for(int i=0;i
>kiss; if(kiss==0) kiss=inf; if(!flag[i][j]) { flag[i][j]=1; flag[j][i]=1; u[m]=i; v[m]=j; w[m++]=kiss; } } } cout<
<

 

转载地址:http://ddubx.baihongyu.com/

你可能感兴趣的文章
react native 之Githhub Poular项目分析
查看>>
对 iOS 中 GPU 编程的高度优化的框架 Metal
查看>>
<react学习笔记(7)>操作DOM节点,组件传参
查看>>
女程序员面试,面试官迟到半小时后嘲讽:你行不行啊!网友气坏了
查看>>
浅谈vuex
查看>>
漫话:如何给女朋友解释什么是并发和并行
查看>>
Android高级开发之【RxJava】详解(附项目源码)
查看>>
阅读人生
查看>>
RustCon Asia 实录 | Distributed Actor System in Rust
查看>>
Cocos2dx源码记录(5) CCRenderCommand
查看>>
Python学习笔记 - 下载图片
查看>>
验证提示框封装
查看>>
CDN WAF功能开放公测 提升网络应用安全性能
查看>>
Python入门第三章--第三节:列表
查看>>
搭建Hexo博客相册
查看>>
RPA风潮席卷全行业,本土厂商如何把握未来?
查看>>
node 事件
查看>>
史上最全的HTML、CSS知识点总结,浅显易懂。适合入门新手
查看>>
Objective-C高级编程读书笔记(一)
查看>>
Spring Cloud OAuth 微服务内部Token传递的源码实现解析
查看>>