hdu1863
#include<cstdio>
#include<algorithm>
using namespace std;
int N,M;
struct edge { int u,v,cost;
bool operator < (const edge& rhs) const
{
return cost < rhs.cost;
} };
edge es[110];
int sett[110];
int find2(int x)
{
if(sett[x] == x ) return x;
else return sett[x] = find2(sett[x]);
}
void unite(int x,int y)
{
x =find2(x);
y =find2(y);
if(x<y) sett[y]=x;
else sett[x]=y;
}
bool same(int x,int y)
{
return find2(x)==find2(y);
}
int kruskal()
{
sort(es,es+N);
for(int i=0;i<=M;i++) sett[i]=i;
int res=0;
int num=0;
for(int i=0;i<N;i++){
edge e = es[i];
if( !same(e.u, e.v) )
{
unite(e.u,e.v);
res+=e.cost;
num++;
}
}
// printf("%d%d",num,M);
if(num < M-1) printf("?\n");
else printf("%d\n",res);
}
int main()
{
while(scanf("%d%d",&N,&M)&&N )
{
for(int i=0;i<N;i++)
scanf("%d%d%d",&es[i].u,&es[i].v,&es[i].cost);
kruskal();
}
return 0;
}
hdu1863的更多相关文章
- HDU1863(Kruskal+并查集水题)
https://cn.vjudge.net/problem/HDU-1863 省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可). ...
- 最小生成树算法 prim kruskal两种算法实现 HDU-1863 畅通工程
最小生成树 通俗解释:一个连通图,可将这个连通图删减任意条边,仍然保持连通图的状态并且所有边权值加起来的总和使其达到最小.这就是最小生成树 可以参考下图,便于理解 原来的图: 最小生成树(蓝色线): ...
- 畅通工程[HDU1863]
畅通工程 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submissio ...
- hdu1863 最小生成树(prim)
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1863 思路:最小生成树模板题,直接套模板. 代码: #include<iostrea ...
- hdu1863 畅通工程(最小生成树之prim)
Problem Description 省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可).经过调查评估,得到的统计表中列出了有可 ...
- HDU1863 畅通project 【最小生成树Prim】
畅通project Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- ACM-最小生成树之畅通project——hdu1863
***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...
- ACM-光滑最小生成树project——hdu1863
***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...
- Kruskal算法-HDU1863畅通工程
链接 [http://acm.hdu.edu.cn/showproblem.php?pid=1863] 题意 Problem Description 省政府"畅通工程"的目标是使全 ...
- 畅通工程(hdu1863)并查集
畅通工程 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
随机推荐
- VC++线程函数内怎么调用外部函数
VC++线程函数内怎么调用外部函数 1.把外部函数做成静态函数,就可以直接调用了.2.把外部函数所在的对象通过线程函数参数传到线程里面来,这样线程里可以使用此对象及其函数了.
- 诊断:ORA-16188: LOG_ARCHIVE_CONFIG settings inconsistent with previously started instance
11g数据库里面一个套RAC环境,之前搭建过DG,后来拆除掉.某次演练重启的时候,碰到数据库无法open的情况.日志显示 WARNING: The 'LOG_ARCHIVE_CONFIG' init. ...
- react-native 手势操作和 react-naviagation 组件的手势返回功能的冲突解决
上篇我们说到过在react-native触摸及手势事件 那么我在项目中遇到的问题是在react-navigation中的子页面,希望保留在ios中的效果:从左侧往右侧滑动为退出该页面. 但是希望我在滑 ...
- day21 05 员工信息表
day21 05 员工信息表 假设有一个员工信息表,里面有每个员工的名字,id,年龄,电话,还有他们所作的工作,而有时候我们并不需要所有的信息,而想根据某些条件,寻找符合条件即可,即筛选, 比如想要筛 ...
- Matlab学习笔记(四)
二.MATLAB基础知识 (六)字符串 字符串的创建和简单操作 用单引号对括起来的一系列字符的组合,每个字符是一个元素,通常通过两个字节来存储 表2-22 字符串常见操作函数(e_two_37. ...
- 模拟Django的admin自定义stark组件
1.新建Django项目--新建app:app01和stark--在settings中配置app和数据库--在models.py中新建模型表--完成数据库迁移 2.在stark下的apps.py中: ...
- POJ1222熄灯问题【位运算+枚举】
EXTENDED LIGHTS OUT Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 14231 Accepted: 8 ...
- python之更加抽象 2014-4-6
#更加抽象 12:50pm- 14:50 p112- 1.对象的魔力 多态 如count 在多种数据类型中都可以实现计数的功能 封装 对全局作用域中其他区域隐藏多余信息的原则 继承2.类和类型 创建类 ...
- 得到JavaWeb项目在Tomcat中的运行路径
获得绝对路径 ··· File file= new File(path); System.out.println(file.getAbsolutePath()); ··· 获得Tomcat路径 这是一 ...
- BNUOJ 7178 病毒侵袭持续中
病毒侵袭持续中 Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on HDU. Original ID: 30 ...