HDOJ 1301 Jungle Roads
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1301
//HDOJ1301
#include<iostream>
#include<cstring>
using namespace std;
#define MAX 99999
#define LEN 30
int dist[LEN];//某点的权值 起始点到目标点的权值
int map[LEN][LEN];//某点到某点两点之间的权值
bool isvisitd[LEN];//表示某点是否访问过 //初始化map数组 设置为无穷大
void init(int n){
for(int i = ;i<=n;i++) {
for(int j = ;j<=n;j++)
map[i][j] = MAX;
}
} //prim最小生成树的算法
int prim(int n){
int i,j,min,pos,sum;
sum = ; //最小生成树的权值 //初始化,表示没有一点走过
memset(isvisitd,false,sizeof(isvisitd)); //初始化给dist数组赋值
for(i = ;i<=n;i++){
dist[i] = map[][i];
} isvisitd[] = true;//标记1已被访问 从1开始 //找到权值最小点并记下位置
for(i = ;i<n;i++){
min = MAX;
for(j = ;j<=n;j++){
if(!isvisitd[j]&&dist[j]<min){
min = dist[j];
pos = j;//记录下该位置
}
} sum+=min;
isvisitd[pos] = true; //更新权值
for(j = ;j<=n;j++) {
if(!isvisitd[j]&&dist[j]>map[pos][j]){
dist[j] = map[pos][j];
}
} }
return sum;
}
int main(){
int i,j,n,m,len;
char start,end;
while(scanf("%d",&n)!=EOF){
if(n==){
break;
} init(n);//初始化 for(i=;i<n-;i++){
cin>>start>>m;
for( j = ;j<m;j++){
cin>>end>>len;
map[i+][end-'A'+] = len;
map[end-'A'+][i+] = len;
}
}
cout<<prim(n)<<endl;
}
return ; }
运行结果如下:

最小生成树 Prim算法的实现及应用 http://blog.csdn.net/worker90/article/details/6642959
HDOJ 1301 Jungle Roads的更多相关文章
- POJ 1251 && HDU 1301 Jungle Roads (最小生成树)
Jungle Roads 题目链接: http://acm.hust.edu.cn/vjudge/contest/124434#problem/A http://acm.hust.edu.cn/vju ...
- hdu 1301 Jungle Roads 最小生成树
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1301 The Head Elder of the tropical island of Lagrish ...
- hdu 1301 Jungle Roads krusckal,最小生成树,并查集
The Head Elder of the tropical island of Lagrishan has a problem. A burst of foreign aid money was s ...
- POJ 1251 & HDU 1301 Jungle Roads
题目: Description The Head Elder of the tropical island of Lagrishan has a problem. A burst of foreign ...
- hdu 1301 Jungle Roads
http://acm.hdu.edu.cn/showproblem.php?pid=1301 #include <cstdio> #include <cstring> #inc ...
- Hdu 1301 Jungle Roads (最小生成树)
地址:http://acm.hdu.edu.cn/showproblem.php?pid=1301 很明显,这是一道“赤裸裸”的最小生成树的问题: 我这里采用了Kruskal算法,当然用Prim算法也 ...
- HDU 1301 Jungle Roads (最小生成树,基础题,模版解释)——同 poj 1251 Jungle Roads
双向边,基础题,最小生成树 题目 同题目 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include<stri ...
- POJ 1251 + HDU 1301 Jungle Roads 【最小生成树】
题解 这是一道裸的最小生成树题,拿来练手,题目就不放了 个人理解 Prim有些类似最短路和贪心,不断找距当前点最小距离的点 Kruskal类似于并查集,不断找最小的边,如果不是一棵树的节点就合并为一 ...
- 最小生成树 || HDU 1301 Jungle Roads
裸的最小生成树 输入很蓝瘦 **并查集 int find(int x) { return x == fa[x] ? x : fa[x] = find(fa[x]); } 找到x在并查集里的根结点,如果 ...
随机推荐
- shell语句记录-awk
cat ./daily_uv/daily_uv_20140104 | awk '{fr[$1]+=$3; k=$1 "_" $2; av[k]+=$3;} END{for (k i ...
- This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME 错误解决
在一个Mysql表达式中使用嵌套查询,出现了这个错误.原因是内层select语句带有limit子句. 在网上查了下,有文章指出: 比如这样的语句是不能正确执行的. select * from ta ...
- spark的环境安装
1.安装sbt 正常安装流程. 在cmd里运行的时候,要提前设置代理(如果上网有代理),set JAVA_OPTS=-Dhttp.proxySet=true -Dhttp.proxyHost=172. ...
- windows程序移植linux
1,路径名统一用正斜杠“/”.(windows下正反斜杠都识别,linux只认正斜杠.) 2,统一使用UTF-8格式编码. vim中无法保存汉字时,可输入下列命令: :set fileencoding ...
- APIO2014 爆零总结
真心爆零 不要不服 这次apio给了一种新的赛制 看上去很好? 所有人都可以在线提交 并且实时知道自己的分数 它对每个题目分成若干分数段 每个分数段有若干数据 要获得这个分数段的分数需要通过这个分数段 ...
- 关于使用base36的技巧 生成 优惠券兑换码的相关讨论
关于优惠券的生成后台的制作问题,已经拖了很久了还没有合并.但是持续暴露出来的问题 也很多,我的代码以及前面的一个人的代码被持续review暴露出了大量问题.昨天晚上在
- localStorage的一些简单的操作
本地存储 cookie localStorage cookie localStorage 生存周期 ...
- Operation not applicable
ClientDataSet.DataSetProvider1 Operation not applicable ClientDataSet1->Open(); 解决办法 1.update new ...
- STM32中的位带(bit-band)操作
转:http://blog.csdn.net/gaojinshan/article/details/11479929 //位带操作,实现51类似的GPIO控制功能 //具体实现思想,参考<< ...
- LC并联谐振回路