POJ 2421Constructing Roads Kruskal求解
来源:互联网 发布:flashplayer mac 编辑:程序博客网 时间:2024/09/21 06:33
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=66965#problem/D
题意:给定一些村庄及边,然后给出一些,已经存在的边,求最小生成树。
思路:题意简单,根据Kruskal思路,先把已经存在的边加进去,然后就是原样的Kruskal了。
代码:
#include<iostream>#include<cstdio>#include<algorithm>using namespace std;struct edge{ int u,v,w; bool operator <(const edge &a)const{ return w<a.w; }}E[10010];int N,Q,tot,pre[110];int find(int x){ int t=x; while(t!=pre[t]) t=pre[t]; while(x!=t) pre[x]=t,x=pre[x]; return t;}void Kruskal(){ int sum=0; for(int i=0;i<tot;i++){ int u=E[i].u,v=E[i].v,w=E[i].w; int fu=find(u),fv=find(v); if(fu==fv) continue; pre[fv]=fu;sum+=w; } cout<<sum<<endl;}int main(){ //freopen("D:\\in.txt","r",stdin); while(cin>>N){ int t; tot=0; for(int i=0;i<N;i++) for(int j=0;j<N;j++){ scanf("%d",&t); if(j<i) E[tot++]=(edge){i,j,t}; } cin>>Q; for(int i=0;i<=N;i++) pre[i]=i; int a,b; for(int i=0;i<Q;i++){ scanf("%d %d",&a,&b); pre[find(a-1)]=find(b-1); } sort(E,E+tot); Kruskal(); } return 0;}
0 0
- POJ 2421Constructing Roads Kruskal求解
- poj 2421 Constructing Roads (Kruskal)
- POJ 2421 Constructing Roads(Kruskal算法)
- poj 2421 Constructing Roads(kruskal)(基础)
- poj 2421 Constructing Roads【kruskal & prim】
- POJ 2421 Constructing Roads Kruskal+并查集
- poj-2421 Constructing Roads(最小生成树 Kruskal算法)
- poj 2421 Constructing Roads(最小生成树 kruskal算法)
- POJ 2421--Constructing Roads【水题 && 最小生成树 && kruskal】
- POJ 2421 Constructing Roads 最小生成树 Kruskal算法
- POJ 2421Constructing Roads
- poj 2421 Constructing Roads
- poj 2421 Constructing Roads
- POJ 2421 Constructing Roads
- POJ 2421 Constructing Roads
- POJ 2421 constructing roads
- POJ-2421-Constructing Roads
- POJ 2421 Constructing Roads
- 2015-4-25华为成研所实习生招聘面试回顾
- iOS开发的一些技巧整理
- Java对象的序列化方式克隆
- 新的城市,新的公司,新的梦想
- android中scrollview与listview共存
- POJ 2421Constructing Roads Kruskal求解
- 三方库地址
- ios tableView那些事(一)创建一个简单的tableView
- ios tableView那些事(二)给tableView添加数据
- JAVA菜鸟入门(8) Java的Final关键字
- ios tableView那些事(三)给tableView添加些图片
- ios tableView那些事(四)tableView添加标题,头尾和改变cell的宽度
- (ios7)第一个ios程序helloworld
- ios tableView那些事 (五) 给tableview设置缩进级别