最小生成树模板题

简单的prim算法

AC代码:

#include <iostream>
#include <stdio.h>
#define INF 9999999
using namespace std;
int map[200][200],dis[200],vis[200];
int prim(int n)
{
int i,j,min,p;
for(i=1;i<=n;i++)
{
dis[i]=map[1][i];
vis[i]=0;
}
vis[1]=1;
int sum=0;
for(i=2;i<=n;i++)
{
min=INF;
for(j=1;j<=n;j++)
if(!vis[j]&&min>dis[j])
{
min=dis[j];
p=j;
}
sum+=min;
vis[p]=1;
for(j=1;j<=n;j++)
{
if(!vis[j]&&dis[j]>map[p][j])
dis[j]=map[p][j];
}
}
return sum;
}
int main()
{
int n,i,j,d,d1;
char c,c1;
while(cin>>n&&n)
{
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
map[i][j]=INF;
//while(n--&&cin>>c>>d)
for(i=1;i<n;i++)
{
cin>>c>>d;
for(j=1;j<=d;j++)
{
cin>>c1>>d1;
map[c-'A'+1][c1-'A'+1]=d1;
map[c1-'A'+1][c-'A'+1]=d1;
}
}
//for(i=1;i<=n;i++,cout<<endl)
// for(j=1;j<=n;j++)
// cout<<map[i][j]<<" ";
cout<<prim(n)<<endl;
}
return 0;
}

hdu 1301的更多相关文章

  1. hdu 1301 Jungle Roads 最小生成树

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1301 The Head Elder of the tropical island of Lagrish ...

  2. hdu 1301 Jungle Roads

    http://acm.hdu.edu.cn/showproblem.php?pid=1301 #include <cstdio> #include <cstring> #inc ...

  3. Hdu 1301 Jungle Roads (最小生成树)

    地址:http://acm.hdu.edu.cn/showproblem.php?pid=1301 很明显,这是一道“赤裸裸”的最小生成树的问题: 我这里采用了Kruskal算法,当然用Prim算法也 ...

  4. (最小生成树)Jungle Roads -- HDU --1301

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

  5. HDU 1301 Jungle Roads (最小生成树,基础题,模版解释)——同 poj 1251 Jungle Roads

    双向边,基础题,最小生成树   题目 同题目     #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include<stri ...

  6. POJ 1251 && HDU 1301 Jungle Roads (最小生成树)

    Jungle Roads 题目链接: http://acm.hust.edu.cn/vjudge/contest/124434#problem/A http://acm.hust.edu.cn/vju ...

  7. POJ 1251 + HDU 1301 Jungle Roads 【最小生成树】

    题解 这是一道裸的最小生成树题,拿来练手,题目就不放了 个人理解  Prim有些类似最短路和贪心,不断找距当前点最小距离的点 Kruskal类似于并查集,不断找最小的边,如果不是一棵树的节点就合并为一 ...

  8. hdu 1301(最小生成树)

    Jungle Roads Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tota ...

  9. 最小生成树 || HDU 1301 Jungle Roads

    裸的最小生成树 输入很蓝瘦 **并查集 int find(int x) { return x == fa[x] ? x : fa[x] = find(fa[x]); } 找到x在并查集里的根结点,如果 ...

随机推荐

  1. oracle中存储过程详解

    oracle中存储过程的使用 过程是指用于执行特定操作的PL/SQL块.如果客户应用经常需要执行特定操作,那么可以考虑基于这些操作建立过程.通过使用过程,不仅可以简化客户应用的开发和维护,而且可以提高 ...

  2. Convert String to Long

    问题: Given a string, write a routine that converts the string to a long, without using the built in f ...

  3. Ruby设计模式透析之 —— 适配器(Adapter)

    转载请注明出处:http://blog.csdn.net/sinyu890807/article/details/9400153 此为Java设计模式透析的拷贝版,专门为Ruby爱好者提供的,不熟悉R ...

  4. 汇编test和cmp区别

    来自http://tunps.com/assembly-test-and-cmp 看过破解教程,都知道test,cmp是比较关键,可是我一直不清楚它们究竟是怎么比较的,最后下决心找了很多资料,和大家一 ...

  5. 安装SQL Server 那些事儿

    SQL版本: Microsoft SQL Server2008 R2 RTM - Express with Advanced Services 错误描述: System.Configuration.C ...

  6. csv内存流文件流

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Tex ...

  7. IDEA启动自动进入最后一个项目

    每次打开IDEA的时候总会加载上级最后打开的工程,可能这个工程并不是我需要的,我就得重新去打开我需要的工程,感觉这一点非常鸡肋. 使用如下方法可以在启动的时候,选择启动哪个工程,而不是直接进入. Fi ...

  8. c#使用UIA进行模拟点击操作

    之前,我写过一篇c#使用spy进行模拟操作的文章,有朋友在留言中提到了UIA进行操作,今天也使用UIA重新实现一次对vnc窗体的控制测试. 实现目标 在server框内填入192.168.2.200 ...

  9. 普通的101键盘在Mac上的键位对应

    为了方便,搞了一个普通的101有线全键盘 + Magic TrackPad配Macbook.        然后发现了一个小问题,按键对应似乎不像我想的那么完美,F1~F12和Macbook不对应,于 ...

  10. Oracle 判断 并 手动收集 统计信息 脚本

    CREATE OR REPLACE PROCEDURE SchameB.PRC_GATHER_STATS AUTHID CURRENT_USER IS BEGIN SYS.DBMS_STATS.GAT ...