poj 1789 Truck History 最小生成树
来源:互联网 发布:淘宝毛菇小象 编辑:程序博客网 时间:2024/04/29 20:09
题目地址:poj1789
就是找到一棵树吧。
由于difference是互相的,所以建立无向图。
记得kruskal cc==1时break , 增加边的时候,记得不要重复添加
还是985ms 险过,据说prim会快一点?
代码:
#include<iostream>#include<cstdio>#include<cmath>#include<cstdio>#include<algorithm>#include<cstring>#include<string>const double eps=1e-8;using namespace std;struct edge{ int u; int v; int w; };edge e[4000010];int fa[2005];int find(int x) {return x==fa[x]?x:fa[x]=find(fa[x]);}bool edge_cmp(edge a,edge b){ return a.w<b.w;}int n,m;int cc;double kruskal(){ double ans=0; sort(e,e+m,edge_cmp); for(int i=0;i<m;i++) { if(cc==1) break; int x=find(e[i].u); int y=find(e[i].v); if(x!=y) { fa[x]=y; ans+=e[i].w; cc--; } } return ans;}void init(){ for(int i=0;i<n;i++) { fa[i]=i; } cc=n;}int calc_difference(char* a,char * b){ int ans=0; for(int i=0;i<7;i++) { if(a[i]!=b[i]) ans++; } return ans;}string s[2005];char c[2005][15];int main(){ while(cin>>n) { if(!n) break; init(); for(int i=0;i<n;i++) { scanf("%s",c[i]); } int cnt=0; for(int i=0;i<n;i++) for(int j=i+1;j<n;j++) { e[cnt].u=i; e[cnt].v=j; e[cnt].w=calc_difference(c[i],c[j]); cnt++; } m=cnt; int ans=kruskal(); printf("The highest possible quality is 1/%d.\n",ans); } }
0 0
- poj 1789 Truck History 最小生成树
- poj 1789 Truck History 最小生成树
- poj 1789 Truck History 最小生成树
- POJ 1789 Truck History 最小生成树
- POJ 1789 Truck History 最小生成树
- POJ 1789 Truck History(最小生成树)
- poj-1789 Truck History 最小生成树
- Truck History - POJ 1789 最小生成树
- POJ 1789--Truck History(最小生成树)
- poj 1789 Truck History 最小生成树
- POJ 1789 Truck History (最小生成树)
- poj 1789 Truck History 【最小生成树】
- POJ 1789 Truck History(最小生成树)
- Poj 1789 Truck History【最小生成树】
- poj-1789Truck History(最小生成树)
- poj 1789 Truck History 最小生成树
- poj 1789 Truck History 最小生成树
- POJ-1789-Truck History-最小生成树
- MSI安装包的修改经历
- Windows Store的媒体基础API
- MSI安装程序中的文件替换
- poj 2031 Building a Space Station 最小生成树
- 黑马程序员——day02、c语言知识整合(三)
- poj 1789 Truck History 最小生成树
- 风雨20年:我所积累的20条编程经验
- 耻辱
- Android推送方案分析(MQTT/XMPP/GCM)
- IOS Object-C 异步Http请求
- IOS创建文件
- Altium Designer Summer 9 Build 9.4.0.20159下载地址 + 破解补丁
- poj 2349 Arctic Network 并查集 连通分支数,二分答案
- Unique Binary Search Trees II -- LeetCode