HDU 1223 还是畅通过程【最小生成树模板】
还是畅通工程
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 53939 Accepted Submission(s): 24482
当N为0时,输入结束,该用例不被处理。
Hint
Huge input, scanf is recommended.
#include<bits/stdc++.h> using namespace std; #define N 505
#define inf 99999999 int e[N][N], dis[N], v[N]; int main()
{
int n, m, Min, t1, t2, t3, j, pos; //输入点数、边数
while(scanf("%d", &n), n) {
memset(v,,sizeof(v));
memset(dis,,sizeof(dis));
int cnt = , sum = ; //点数、路径权值和
m = n * (n-) / ;
//初始化图
for(int i=; i<=n; i++){
for(int j=; j<=n; j++){
if(i == j) e[i][j] = ;
else e[i][j] = inf;
}
} //无向图建边
for(int i=; i<=m; i++){
scanf("%d %d %d",&t1, &t2, &t3);
e[t1][t2] = t3;
e[t2][t1] = t3;
} //初始化dis数组,1号顶点到各个顶点初始距离
for(int i=; i<=n; i++)
dis[i] = e[][i]; v[] = ; //第一个结点访问了 for(int i=; i<n; i++){
Min = inf;
for(int j=; j<=n; j++){
if(v[j]== && dis[j] < Min){ //找出最小距离的节点
Min = dis[pos = j];
}
} v[pos] = ;
sum += Min; for(int j= ;j<=n; j++){
if(v[j]==)
dis[j] = min(dis[j],e[pos][j]);
}
}
printf("%d\n",sum); //选出n-1条边,使得边的总长度之和最短
}
return ;
}
prim-280MS
HDU 1223 还是畅通过程【最小生成树模板】的更多相关文章
- HDU 1223 还是畅通工程(最小生成树prim模板)
一个很简单的prim模板,但虽然是模板,但也是最基础的,也要脱离模板熟练打出来 后期会更新kruskal写法 #include<iostream> #include<cstdio&g ...
- hdu 1233 还是畅通工程 最小生成树(prim算法 + kruskal算法)
还是畅通工程 Time Limit: 4000/2 ...
- HDU 1233 还是畅通工程(模板——克鲁斯卡尔算法)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1233 题意描述: 输入n个城镇以及n*(n-1)/2条道路信息 计算并输出将所有城镇连通或者间接连通 ...
- hdu 1879 继续畅通工程 (最小生成树)
继续畅通工程 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- HDU 1233 还是畅通工程 (最小生成树)
还是畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
- (step6.1.5)hdu 1233(还是畅通工程——最小生成树)
题目大意:输入一个整数n,表示有n个村庄,在接下来的n*(n-1)/2中,每行有3个整数beigin.end.weight,分别表示路的起始村庄,结束村庄和村庄之间的距离. 求索要修的路的最短距离 解 ...
- (step6.1.1)hdu 1879(继续畅通工程——最小生成树、kruscal)
题目大意:输入一个整数n,表示有n个村庄.在接下来的n(n-1)/2行中,每行有4个整数begin end weight flag.分别表示从begin到end之间可以连通 ,他们之间的费用为w ...
- HDU 1233.还是畅通工程-最小生成树(Prime)
还是畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
- HDU 1233 还是畅通工程(最小生成树,prim)
题意:中文题目 思路:prim实现,因为有n*(n-1)/2条边,已经是饱和的边了,prim比较合适. (1)将点1置为浏览过,点1可以到达其他每个点,所以用low[i]数组记录下目前到达i点的最小长 ...
随机推荐
- 数学算法:CF534A-Exam(思维)
Exam time limit per test 1 second memory limit per test 256 megabytes input standard input output st ...
- windows下pip安装python模块时报错【转】
windows下pip安装python模块时报错总结 请给作者点赞--> 原文链接 1 权限问题 C:\Users\ljf>pip install xlwt Exception: Trac ...
- IQueryable与IEnumerable区别
前者可以延迟加载,即执行完后不马上执行数据库语句,用到再加载.
- postgreysql
基础 syntax * \help 生成所有的pg命令 * abort 终止事务/work * alter aggregate 修改聚合函数的定义 ALTER AGGREGATE name ( typ ...
- The DOM in JavaScript
DOM : Document Object Model D is for document : The DOM cant work without a document . When you c ...
- MySQL之索引(四)
压缩索引 MyISAM使用前缀压缩来减少索引的大小,从而让更多的索引可以放入内存中,这在某些情况下能极大地提高性能.默认只压缩字符串,但通过参数设置也可以对整数做压缩. MyISAM压缩每个索引块的方 ...
- 使用 Sconfig.cmd 配置服务器核心服务器
使用 Sconfig.cmd 配置服务器核心服务器 适用对象:Windows Server 2012 R2, Windows Server 2012 在 Windows Server 2012 中,你 ...
- HBase官方文档
HBase官方文档 目录 序 1. 入门 1.1. 介绍 1.2. 快速开始 2. Apache HBase (TM)配置 2.1. 基础条件 2.2. HBase 运行模式: 独立和分布式 2.3. ...
- PostgreSQL 行排序详解
在查询生成输出表之后,也就是在处理完选择列表之后,你还可以对输出表进行排序. 如果没有排序,那么行将以不可预测的顺序返回(实际顺序将取决于扫描和连接规划类型和在磁盘上的顺序, 但是肯定不能依赖这些东西 ...
- 【bzoj1367】[Baltic2004]sequence 可并堆
题目描述 输入 输出 一个整数R 样例输入 7 9 4 8 20 14 15 18 样例输出 13 题解 可并堆,黄源河<左偏树的特点及其应用>Page 13例题原题 #include & ...