A - Truck History(prim求最小生成树)
来源:互联网 发布:斗罗大陆3龙王传说淘宝 编辑:程序博客网 时间:2024/06/05 08:19
#include<iostream>#include<cstdio>#include<string.h>using namespace std;const int M=7;const int N=2010;const int Inf=100000000;int map[N][N];int vis[N];int dis[N];int n;char str[N][M];int value(int ki,int kj){ int ans=0; for(int i=0;i<M;++i) { if(str[ki][i]!=str[kj][i]) { ans++; } } return ans;}int prim()//prim求最小生成树{ int ans=0; memset(vis,0,sizeof(vis)); for(int i=0;i<=n;i++) { dis[i]=Inf; } dis[1]=0; for(int i=1;i<=n;i++) { int cur=Inf,k=0; for(int j=1;j<=n;j++) { if(!vis[j]&&dis[j]<cur) { cur=dis[j]; k=j; } } ans+=dis[k]; vis[k]=1; for(int j=1;j<=n;j++) { if(!vis[j]&&dis[j]>map[k][j]) { dis[j]=map[k][j]; } } } return ans;}int main(){ while(scanf("%d",&n)==1) { if(n==0) break; memset(map,0,sizeof(map)); for(int i=1;i<=n;++i) { scanf("%s",&str[i]); } for(int i=1;i<n;++i) { for(int j=i;j<=n;++j) { map[i][j]=map[j][i]=value(i,j);//与各个字符串的多少个字母不同的价值 } } printf("The highest possible quality is 1/%d.\n",prim()); } return 0;}
0 0
- A - Truck History(prim求最小生成树)
- POJ 1789 Truck History (Prim算法求最小生成树)
- POJ1789,Truck History,最小生成树,Prim
- POJ1789 Truck History 【最小生成树Prim】
- POJ1789 Truck History(prim最小生成树)
- Truck History(Prim 最小生成树)
- POJ 1789 Truck History (最小生成树 Prim)
- POJ1789 Truck History(Prim最小生成树)
- POJ 1789:Truck History(prim&&最小生成树)
- poj 1789 Truck History 最小生成树(prim)
- poj 1789 Truck History(最小生成树 Prim)
- POJ 1789 Truck History(最小生成树-Prim)
- POJ_1789(Truck History )(最小生成树(普里姆prim算法))
- POJ 1789 Truck History (最小生成树---prim)
- poj1789——Truck History(最小生成树+prim)
- POJ 1789 Truck History(最小生成树,prim算法)
- POJ-1789 Truck History(prim算法,最小生成树)
- poj 1789 Truck History prim最小生成树 基础!!!!
- uva 交叉染色法10004
- uva 10112(数学)
- jsp页面数字按格式显示
- android小知识点------横竖屏切换
- 好可怜国际化的方法个
- A - Truck History(prim求最小生成树)
- Python之网络爬虫完全教程
- 原始套接字
- Altium designer教程
- VBA Excel 列拆分
- calendar用法
- Merge k Sorted Lists Java
- uva -213Message Decoding
- UVA10112 Myacm Triangles