畅通project

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 20662    Accepted Submission(s): 8857

Problem Description
省政府“畅通project”的目标是使全省不论什么两个村庄间都能够实现公路交通(但不一定有直接的公路相连,仅仅要能间接通过公路可达就可以)。经过调查评估。得到的统计表中列出了有可能建设公路的若干条道路的成本。

现请你编敲代码,计算出全省畅通须要的最低成本。

 
Input
測试输入包括若干測试用例。

每一个測试用例的第1行给出评估的道路条数 N、村庄数目M ( < 100 );随后的 N 

行相应村庄间道路的成本。每行给出一对正整数,各自是两个村庄的编号,以及此两村庄间道路的成本(也是正整数)。为简单起见,村庄从1到M编号。当N为0时,所有输入结束,相应的结果不要输出。

 
Output
对每一个測试用例,在1行里输出全省畅通须要的最低成本。若统计数据不足以保证畅通,则输出“?

”。

 
Sample Input
3 3
1 2 1
1 3 2
2 3 4
1 3
2 3 2
0 100
 
Sample Output
3
?
 
Source
 
Recommend
lcy   |   We have carefully selected several similar problems for you:  1102 

pid=1301" target="_blank" style="color:rgb(26,92,200); text-decoration:none">1301 1874 1856 1162 

 

Statistic | Submit | 

problemid=1863" style="color:rgb(26,92,200); text-decoration:none">Discuss | Note

最小生成树的判定方法有kruskal算法和prim算法

我觉得kruskal算法比較简单。。

#include <stdio.h>
#include <algorithm>
using namespace std;
int m,n,fa[105];
struct node
{
int a,b,cost;
}c[105];
bool cmp(node x,node y)
{
return x.cost<y.cost;
}
void init()
{
for(int i=1;i<=n;i++)
fa[i]=i;
}
int find(int x)
{
if(fa[x]!=x) fa[x]=find(fa[x]);
return fa[x];
}
int main()
{
while(scanf("%d %d",&m,&n)!=EOF)
{
if(m==0)
break;
init();
for(int i=0;i<m;i++)
scanf("%d %d %d",&c[i].a,&c[i].b,&c[i].cost);
sort(c,c+m,cmp);
int sum=0;
for(int i=0;i<m;i++)
{
int x=find(c[i].a);
int y=find(c[i].b);
if(x!=y)
fa[x]=y,sum+=c[i].cost;
}
int count=0;
for(int i=1;i<=n;i++)
if(fa[i]==i)
count++;
if(count==1)
printf("%d\n",sum);
else
printf("?\n");
}
return 0;
}

hdu1863 畅通project(判定最小生成树)的更多相关文章

  1. HDU1863 畅通project 【最小生成树Prim】

    畅通project Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  2. hdu1879 继续畅通project(最小生成树)

    继续畅通project Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...

  3. hdu1863 畅通工程 基础最小生成树

    #include <iostream> #include <cstdio> #include <algorithm> #define N 110 #define M ...

  4. ACM-最小生成树之继续畅通project——hdu1879

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/lx417147512/article/details/27092583 ************** ...

  5. HDU 1863 畅通project (最小生成树是否存在)

    题意 中文 入门最小生成树  prim大法好 #include<cstdio> #include<cstring> using namespace std; const int ...

  6. ACM-最小生成树之畅通project——hdu1863

    ***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...

  7. hdu 1233(还是畅通project)(prime算法,克鲁斯卡尔算法)(并查集,最小生成树)

    还是畅通project Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tota ...

  8. 8-06. 畅通project之局部最小花费问题(35)(最小生成树_Prim)(ZJU_PAT)

    题目链接:http://pat.zju.edu.cn/contests/ds/8-06 某地区经过对城镇交通状况的调查.得到现有城镇间高速道路的统计数据,并提出"畅通project" ...

  9. hdu 1875 畅通project再续(kruskal算法计算最小生成树)

    畅通project再续 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...

随机推荐

  1. 开放API端口SIGN算法详细设计

    开放API端口SIGN算法详细设计 前言 在app开放接口api的设计中,避免不了的就是安全性问题,因为大多数接口涉及到用户的个人信息以及一些敏感的数据,所以对这些接口需要进行身份的认证,那么这就需要 ...

  2. 离线安装docker最新版,记得要以下三个包。

    如果安装了以前版本,还要删除以下这个包. container-selinux.noarch 2:2.10-2.el7 ============== 离线安装三个rpm -rw-r--r--. 1 ro ...

  3. 【转】Python unittest数据驱动工具:DDT

    背景 python 的unittest 没有自带数据驱动功能. 所以如果使用unittest,同时又想使用数据驱动,那么就可以使用DDT来完成. DDT是 “Data-Driven Tests”的缩写 ...

  4. POJ 3984 迷宫问题【BFS/路径记录/手写队列】

    迷宫问题 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 31428 Accepted: 18000 Description 定义 ...

  5. 【二分答案】【字符串哈希】bzoj2084 [Poi2010]Antisymmetry

    显然只有偶数长度的串符合题意,并且如果一个串符合题意,那么从其首尾各截掉一个字符也符合题意. 于是枚举中心,二分可以向左右扩展的最远距离,累计答案. #include<cstdio> #i ...

  6. 【树链剖分】【分块】【最近公共祖先】【块状树】bzoj1984 月下“毛景树”

    裸题,但是因为权在边上,所以要先把边权放到这条边的子节点上,然后进行链更新/查询的时候不能更新/查询其lca. #include<cstdio> #include<cmath> ...

  7. 1.5(Spring MVC学习笔记) 拦截器(Interceptor)

    一.拦截器 1.1拦截器简介 Spring中的拦截器类似Servlet中的过滤器(Filter),主要用于拦截用户请求, 并进行一定的处理操作(如验证权限.记录日志.设置编码方式等). 1.2拦截器实 ...

  8. 泳池迷宫(p24)

    /*2018年8月26日15:55:29作者:冰樱梦page-24泳池迷宫*/public class swiming{public static void main(String[] args){i ...

  9. TZOJ 数据结构实验:创建单链表

    描述 实现一个函数CreateLinkList,能够完成不带头节点链表的创建. 部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码. void PrintLinkList(Node *head ...

  10. WebService综述

    一.序言 大家或多或少都听过WebService(Web服务),有一段时间很多计算机期刊.书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成分.但是不得不承认的是Web ...