题目:http://poj.org/problem?id=1789

大意:每个卡车都有自己的编号,由七位字母组成

d(to,td) is the distance of the types指t0 和 td卡车编号字母不同的个数,即点t0和点td的权

最好得衍生方案是是的总权值最小,即最小生成树

用的prim

View Code

#include <iostream>
#include<cstdio>
#include<cstring>
#define inf 0x7fffffff
using namespace std;
char str[2005][7];
int map[2005][2005];
int n;
int cmp(char *s1,char *s2)
{int i,num=0;for(i=0;i<7;i++){if(*(s1+i)!=*(s2+i))num++;}return num;
}
void prim()
{int vis[2005];int dis[2005];int i,j;memset(vis,0,sizeof(vis));vis[0]=1;for(i=1;i<n;i++){dis[i]=map[0][i];}int min;int pos;int ans=0;for(i=0;i<n;i++){min=inf;for(j=0;j<n;j++){if(min>dis[j]&&!vis[j]){pos=j;min=dis[j];}}if(min==inf)break;ans+=min;vis[pos]=1;for(j=0;j<n;j++){if(map[pos][j]<dis[j]&&!vis[j]&&map[pos][j]>0){dis[j]=map[pos][j];}}}printf("The highest possible quality is 1/%d.\n",ans);
}
int main()
{int i,j;while(scanf("%d",&n)!=EOF){if(n==0)break;getchar();for(i=0;i<n;i++){gets(str[i]);}memset(map,0,sizeof(map));for(i=0;i<n-1;i++){for(j=i+1;j<n;j++){map[i][j]=cmp(str[i],str[j]);map[j][i]=map[i][j];}}prim();}return 0;
}

转载于:https://www.cnblogs.com/wanglin2011/archive/2012/12/03/2800283.html

poj 1789 Truck History(最小生成树 prim)相关推荐

  1. Kuskal/Prim POJ 1789 Truck History

    题目传送门 题意:给出n个长度为7的字符串,一个字符串到另一个的距离为不同的字符数,问所有连通的最小代价是多少 分析:Kuskal/Prim: 先用并查集做,简单好写,然而效率并不高,稠密图应该用Pr ...

  2. POJ - 1789 Truck History (最小生成树)

    https://vjudge.net/problem/POJ-1789 题意 n个车牌,长度固定为7,车牌与车牌间的距离为不同字母个数.问所有车牌形成一棵树的最小边权和是多少. 分析 最小生成树模板 ...

  3. POJ 1789 Truck History

    最小生成树问题. 给你一组字母序列,问你最有可能的演变,也就是把全部的序列连通所花费最小. 每次派生的花费 取决于两个字符串上 不同的字母个数. 于是两两算出花费,然后Kruskal算最小. #inc ...

  4. 【POJ】【最小生成树】1789 Truck History

    1 思路 题目链接. 最小生成树(MST)问题. 2 代码 代码来自宇宙吾心博客. #include <iostream> #include <limits> #include ...

  5. POJ 2485 Highways(最小生成树 Prim)

    Highways   大意:给你一个用邻接矩阵形式存储的有n个顶点的无向图,让你求它的最小生成树并求出在这个生成树里面最大的边的权值. 思路:用Prim求,判断条件改一下就行. PS:dis数组初始化 ...

  6. POJ-1789 Truck History 最小生成树

    计算整个汽车演化过程中所要改变的最少的字符数.改变的字符数的计算方式为1-7位不同位的个数. 代码如下: #include <cstdlib> #include <cstring&g ...

  7. poj1861 最小生成树 prim amp; kruskal

    // poj1861 最小生成树 prim & kruskal // // 一个水题,为的仅仅是回味一下模板.日后好有个照顾不是#include <cstdio> #include ...

  8. 最小生成树prim、

    过年那几天确实没好好学习.在老家闲着也是闲着.可是就是没看书. 回来这几天又一直在弄个人博客.买域名云服务器备案什么的- -. 麻烦死了呢. 在腾讯花1块钱备案了一个网站www.goodgoodstu ...

  9. [Java学习] 最小生成树——Prim算法

    文章目录 最小生成树 Prim算法流程 应用实例 求最小生成树 最小生成树 百度百科上对于最小生成树的定义是这样的:一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结 ...

最新文章

  1. c++重载(以运算符重载为主)
  2. 爬了下知乎神回复,这次继续笑!
  3. Node.js调用C#代码
  4. 并发编程-16AQS同步组件之CountDownLatch 闭锁
  5. ACM常见问题之【求逆序对】
  6. Ubuntu 14.04 FTP服务器--vsftpd的安装和配置
  7. java定义一个getsize方法,long getSize()
  8. 第七季4:网络telnet调试、海思proc文件系统调试接口
  9. PHP生成随机密码的4种方法及性能对比
  10. Going to 的将来时态_47
  11. 上海大学计算机网络实验报告3,上海大学计算机组成原理实验报告(全)
  12. 7.运输层---UDP
  13. ADAPT-PT v8.0(房屋与停车场结构里的梁、板、楼板系统之先进后拉预力软件)
  14. C语言求素数的两种方法
  15. matlab仿真没有synchr,Synchro交通仿真系统分析及应用
  16. 虚拟吉他手合集 UJAM Instruments Virtual Guitarist Bundle WiN-MAC
  17. 企业网站常见误区-金瑞帆高端建站
  18. 总账科目 前台操作关事务代码及操作要点
  19. NOIP2015提高组 信息传递(图论)
  20. h5 cookie获取和设置

热门文章

  1. ASP.NET MVC5 Entity Framework CodeFirst(代码优先)
  2. Java加密算法 AES
  3. 更新WordPress4.0访问速度慢问题解决办法
  4. curl访问nagios中Host Status Details For All Host Groups页面的方法
  5. 测量分类准确率的过程算坍缩吗?
  6. 神经分类行为中的引力与斥力
  7. 用反向传导模拟电子运动并模拟HF,HCl,HBr
  8. server sql 判断是否是当天_判断sql server 是否在开启服务状态
  9. php 文件管理系统_如何编写程序实现图书管理系统的个人图书借阅查询功能
  10. 仪表指针样式_PS教程!教你绘制拟物仪表盘拟物图标