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点的最小长 ...
随机推荐
- MySQL之架构与历史(一)
MySQL架构与历史 和其他数据库系统相比,MySQL有点与众不同,它的架构可以在多种不同的场景中应用并发挥好的作用,但同时也会带来一点选择上的困难.MySQL并不完美,却足够灵活,它的灵活性体现在很 ...
- Android环境安装简单总结
1.安装JDK 参考 http://jingyan.baidu.com/article/215817f7e3f2bd1eda1423f4.html 2.安装android SDK 参考 http:// ...
- vlc无法播放.flv视频文件
解决方法:https://videoconverter.wondershare.com/vlc/flv-not-displaying-video-vlc-media-player.html. 在pre ...
- python 使用入的坑
如测试代码,并没有将li.li_ 的交集查询出来 li=[1,2,3,4,5] li_=[2,5,6,7,9] for i in li_: if i in li: li_.remove(i) prin ...
- MySql数据库 - 4.可视化操作数据库
创建表 对表中数据进行 增.删.改.查 查 右键刚刚创建的表 - 选择查看前 1000 条数据 增.改 表格必须有主键才能添加数据,主键是不能重复的 1. 右键表 - 查看前 1000 条数据 2. ...
- 【bzoj4966】总统选举 随机化+线段树
题目描述 黑恶势力的反攻计划被小C成功摧毁,黑恶势力只好投降.秋之国的人民解放了,举国欢庆.此时,原秋之国总统因没能守护好国土,申请辞职,并请秋之国人民的大救星小C钦定下一任.作为一名民主人士,小C决 ...
- arcsde10.0 for oracle11g 分布式安装教程
[操作系统] oracle :windows server 2008ArcSDE:win7[数据库版本] Oracle 11g [ArcSDE版本] ArcSDE 10.0 1.在要安装ArcSD ...
- hihoCoder 第136周 优化延迟(二分答案+手写堆)
题目1 : 优化延迟 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho编写了一个处理数据包的程序.程序的输入是一个包含N个数据包的序列.每个数据包根据其重要程度不同 ...
- HDU 4514 湫湫系列故事——设计风景线(并查集+树形DP)
湫湫系列故事——设计风景线 Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) To ...
- 刷题总结——Genghis Khan the Conqueror (hdu4126)
题目: Genghis Khan(成吉思汗)(1162-1227), also known by his birth name Temujin(铁木真) and temple name Taizu(元 ...