codevs 1078 最小生成树
农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场。当然,他需要你的帮助。 约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其他农场。为了使花费最少,他想铺设最短的光纤去连接所有的农场。 你将得到一份各农场之间连接费用的列表,你必须找出能连接所有农场并所用光纤最短的方案。 每两个农场间的距离不会超过100000
第一行: 农场的个数,N(3<=N<=100)。
第二行..结尾: 接下来的行包含了一个N*N的矩阵,表示每个农场之间的距离。理论上,他们是N行,每行由N个用空格分隔的数组成,实际上,他们每行限制在80个字符以内,因此,某些行会紧接着另一些行。当然,对角线将会是0,因为线路从第i个农场到它本身的距离在本题中没有意义。
只有一个输出,是连接到每个农场的光纤的最小长度和。
4
0 4 9 21
4 0 8 17
9 8 0 16
21 17 16 0
28
#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
#define N 110
using namespace std;
int n,ans();
int w[N][N],dis[N];
bool f[N]={};
int main()
{
scanf("%d",&n);
for (int i=;i<=n;i++)
{
dis[i]=0x7fffffff;
for (int j=;j<=n;j++)
{
scanf("%d",&w[i][j]);
if (w[i][j]==) w[i][j]=0x7fffffff;
}
}
dis[]=0x7fffffff;
dis[]=;
for (int i=;i<=n;i++)
{
int k=;
for (int j=;j<=n;j++)
if (!f[j]&&dis[j]<dis[k]) k=j;
f[k]=;
for (int j=;j<=n;j++)
if (!f[j]&&dis[j]>w[k][j]) dis[j]=w[k][j];
}
for (int i=;i<=n;i++) ans+=dis[i];
cout<<ans<<endl;
return ;
}
prim
codevs 1078 最小生成树的更多相关文章
- codevs 1078 最小生成树 kruskal
题目描述 Description 农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场.当然,他需要你的帮助. 约翰已经给他的农场安排了一条高速的网络线路,他想把这 ...
- (Prim算法)codeVs 1078 最小生成树
题目描述 Description 农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场.当然,他需要你的帮助. 约翰已经给他的农场安排了一条高速的网络线路,他想把这 ...
- wikioi 1078 最小生成树 Kruskal算法
1078 最小生成树 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题目描述 Description 农民约翰被选为他们镇的镇长!他其中一个竞选承诺 ...
- Codevs 1078 ==Poj 1258 Agri-Net
Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 53270 Accepted: 22140 Description D ...
- codevs 1519 过路费 最小生成树+倍增
/*codevs 1519 过路费 最小生成树+倍增*/ #include<iostream> #include<cstdio> #include<cstring> ...
- 最小生成树 kruskal算法 codevs 1638 修复公路
1638 修复公路 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题解 题目描述 Description A地区在地震过后,连接所有村庄的公 ...
- (最小生成树) codeVs 1231 最优布线问题
题目描述 Description 学校需要将n台计算机连接起来,不同的2台计算机之间的连接费用可能是不同的.为了节省费用,我们考虑采用间接数据传输结束,就是一台计算机可以间接地通过其他计算机实现和另外 ...
- codevs 1002 搭桥
codevs 第一道题 先贴描述 1002 搭桥 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description ...
- codevs 2639 约会计划
codevs 2639 约会计划 题目描述 Description cc是个超级帅哥,口才又好,rp极高(这句话似乎降rp),又非常的幽默,所以很多mm都跟他关系不错.然而,最关键的是,cc能够很好的 ...
随机推荐
- Linux命令之hwclock - 查询和设置硬件时钟
常用参数 -r, --show 读取并打印硬件时钟(read hardware clock and print result ) -s, --hctosys 将硬件时钟同步到 ...
- 屏蔽全部统计代码(51.la cnzz 百度统计 谷歌分析师adsense、屏蔽淘宝客广告代码)的方法
支持百度统计 .51.la统计.cnzz统计.51yes统计.谷歌分析师.阿里妈妈淘宝客广告.chinaz弹窗.假设有很多其它的须要屏蔽的,欢迎联系 default7#zbphp.com 改动etc的 ...
- android 25 跨进程启动activity
跨进程启动activity,启动系统预定义的activity就是跨进程的. client项目启动server项目的activity. clientActivity.java package com.s ...
- UML进行Linux内核调试
http://www.lenky.info/ http://blog.csdn.net/ztz0223/article/details/7874759 http://user-mode-linux.s ...
- Tomcat7.0.40 基于DataSourceRealm的和JDBCRealm的资源用户访问控制
软件版本: Tomcat 7.0.40 Mysql: 5.1 Host: CentOS 6.3 64bit 使用JDBCRealm (Tomcat 会使用所给的JDBC Connecter 自己去连M ...
- 小结 iOS 中的 copy
预备知识 : 内存的栈区 : 由编译器自动分配释放, 存放函数的参数值, 局部变量的值等. 其 操作方式类似于数据结构中的栈. 内存的堆区 : 一般由程序员分配释放, 若程序员不释放, 程序结束时可能 ...
- Oracle --1536错误解决(超出表空间)
--导入数据库时提示 超出表空间限额,1536错误,解决方法:去除限额. 执行:--alter user username quota unlimited on users; 例: alter use ...
- win7 下配置 java 环境变量
首先,你应该已经安装了 java 的 JDK 了,笔者安装的是:jdk-7u7-windows-x64 接下来主要讲怎么配置 java 的环境变量,也是为了以后哪天自己忘记了做个备份 1.进入“计算机 ...
- HashMap HashTable HashSet
原文转载自 http://blog.csdn.net/wl_ldy/article/details/5941770 HashMap是新框架中用来代替HashTable的类 也就是说建议使用HashMa ...
- oracle批量导入数据
关键代码 OracleDataAdapter da=new OracleDataAdapter(); string sql_select = string.Format("select id ...