Problem Description
某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。
 
Input
测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( < 100 );随后的N(N-1)/2行对应村庄间的距离,每行给出一对正整数,分别是两个村庄的编号,以及此两村庄间的距离。为简单起见,村庄从1到N编号。
当N为0时,输入结束,该用例不被处理。
 
Output
对每个测试用例,在1行里输出最小的公路总长度。
 
Sample Input
3 1 2 1 1 3 2 2 3 4 4 1 2 1 1 3 4 1 4 1 2 3 3 2 4 2 3 4 5 0
 
Sample Output
3 5
 
初学最小生成树,不怎么会,完全是用Dijkstra算法改过来的  就当成是半个模板了0.0
 
 
 #include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring> using namespace std; #define inf 99999999 int map[][],n,sum,node[]; void prim()
{
int vis[]={};
int tm=,ans;
node[]=;
vis[]=;
for(int k=;k<n;k++)
{
int Min=inf;
for(int i=;i<=n;i++)
if(!vis[i])
{
if(node[i]>map[tm][i])
node[i]=map[tm][i];
//cout<<i<<node[i]<<" ";
if(Min>node[i])
{
Min=node[i];
ans=i;
}
}
vis[ans]=,tm=ans;
sum+=Min;
//cout<<ans<<Min<<endl;
//cout<<Min<<" "<<ans<<" "<<sum<<endl;
}
} int main()
{
while(cin>>n&&n)
{
for(int i=;i<=n;i++)
node[i]=inf;
for(int i=;i<n*(n-)/;i++)
{
int a,b,x;
cin>>a>>b>>x;
map[a][b]=map[b][a]=x;
}
sum=;
prim();
cout<<sum<<endl;
}
return ;
}

hdu1233(最小生成树)的更多相关文章

  1. hdu1233 最小生成树Prim算法和Kruskal算法

    Prim算法 时间复杂度:O(\(N^2\),N为结点数) 说明:先任意找一个点标记,然后每次找一条最短的两端分别为标记和未标记的边加进来,再把未标记的点标记上.即每次加入一条合法的最短的边,每次扩展 ...

  2. HDU-1233 还是畅通工程 (prim 算法求最小生成树)

    prim 算法求最小生成树 还是畅通工程 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Oth ...

  3. HDU1233 还是畅通工程【最小生成树】

    题意: 求出连接各个村庄最小的公路总长度,把最小公路总长度求出来. 思路: 最小生成树原理,带入数据求得. 代码: prim: #include<iostream> #include< ...

  4. hdu1233 还是畅通工程 最小生成树

    给出修建边的边权,求连通所有点的最小花费 最小生成树裸题 #include<stdio.h> #include<string.h> #include<algorithm& ...

  5. 最小生成树入门(克鲁斯卡尔+普利姆 hdu1233)

    克鲁斯卡尔 #include <set> #include <map> #include <queue> #include <stack> #inclu ...

  6. (最小生成树 )还是畅通工程 -- HDU--1233

    链接: http://acm.hdu.edu.cn/showproblem.php?pid=1233 http://acm.hust.edu.cn/vjudge/contest/view.action ...

  7. hdu1233 继续畅通工程 (最小生成树——并查集)

    还是畅通工程 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  8. hdu1233 还是畅通工程 基础最小生成树

    //克鲁斯卡尔 #include<iostream> #include<algorithm> using namespace std; ; struct node { int ...

  9. 最小生成树: HDU1233还是畅通工程

    还是畅通工程 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

随机推荐

  1. mvc 的 OutputCache

    有人问.有没有类似asp.net web form 一样的那种标头 缓存 [OutputCache(Duration=1000)]public async Task<ActionResult&g ...

  2. mongoose CastError: Cast to ObjectId failed for value

    restfull路由如下: router.get('/:id', controller.show); mongoes代码如下: exports.show = function(req, res) { ...

  3. About Technology Research

    做了大量的了解(research).尝试(experimental).探索(exploration).摸索(groping); 解决方案的选择时,要做前期的调研和Demo尝试. 对各方面的技术都做了一 ...

  4. 无聊时,可以去HASKELL里找点感觉

    可以和C,JAVA,PYTHON作任意的比较,感觉越来越晰一些计算机语言里深层的东东... doubleMe x = x + x doubleUs x y = x * + y * doubleSmal ...

  5. DC-DC芯片 同步和異步方式有什么區別

    同步方式是集成了High side和Low side MOSFET,組成同步整流模式,可實現高效率,價格相對貴.異步方式只有High side MOSFET;配合外部使用傳統的續流二極管,組成非同步整 ...

  6. Delphi新语法

    http://www.cnblogs.com/hnxxcxg/category/456344.html

  7. Spark处理Json格式数据(Python)

    前言   Spark能够自动推断出Json数据集的“数据模式”(Schema),并将它加载为一个SchemaRDD实例.这种“自动”的行为是通过下述两种方法实现的:   jsonFile:从一个文件目 ...

  8. 4. c++ 静态 对象

    参考自文章:http://blog.csdn.net/wpf_ml/article/details/7763534 1. 静态存储 变量定义在函数外或是用static 关键字修饰的变量存放在静态存储区 ...

  9. P - 奔小康赚大钱 - hdu 2255(带权值的匹配)

    分析:这是一个KM的模板题,也就不多说了,KM最复杂的情况都能过,下面是没有优化过的代码: ****************************************************** ...

  10. 剑指offer---3

    1.反转单链表,输入链表的头节点,输出该链表,并输出反转后的头节点 这个题目不用再说了,写过N边了 SLnode reverse(SLnode head) { SLnode reverse_head ...