poj 1789 Truck History(最小生成树 prim)
题目:http://poj.org/problem?id=1789
大意:每个卡车都有自己的编号,由七位字母组成
d(to,td) is the distance of the types指t0 和 td卡车编号字母不同的个数,即点t0和点td的权
最好得衍生方案是是的总权值最小,即最小生成树
用的prim
#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)相关推荐
- Kuskal/Prim POJ 1789 Truck History
题目传送门 题意:给出n个长度为7的字符串,一个字符串到另一个的距离为不同的字符数,问所有连通的最小代价是多少 分析:Kuskal/Prim: 先用并查集做,简单好写,然而效率并不高,稠密图应该用Pr ...
- POJ - 1789 Truck History (最小生成树)
https://vjudge.net/problem/POJ-1789 题意 n个车牌,长度固定为7,车牌与车牌间的距离为不同字母个数.问所有车牌形成一棵树的最小边权和是多少. 分析 最小生成树模板 ...
- POJ 1789 Truck History
最小生成树问题. 给你一组字母序列,问你最有可能的演变,也就是把全部的序列连通所花费最小. 每次派生的花费 取决于两个字符串上 不同的字母个数. 于是两两算出花费,然后Kruskal算最小. #inc ...
- 【POJ】【最小生成树】1789 Truck History
1 思路 题目链接. 最小生成树(MST)问题. 2 代码 代码来自宇宙吾心博客. #include <iostream> #include <limits> #include ...
- POJ 2485 Highways(最小生成树 Prim)
Highways 大意:给你一个用邻接矩阵形式存储的有n个顶点的无向图,让你求它的最小生成树并求出在这个生成树里面最大的边的权值. 思路:用Prim求,判断条件改一下就行. PS:dis数组初始化 ...
- POJ-1789 Truck History 最小生成树
计算整个汽车演化过程中所要改变的最少的字符数.改变的字符数的计算方式为1-7位不同位的个数. 代码如下: #include <cstdlib> #include <cstring&g ...
- poj1861 最小生成树 prim amp; kruskal
// poj1861 最小生成树 prim & kruskal // // 一个水题,为的仅仅是回味一下模板.日后好有个照顾不是#include <cstdio> #include ...
- 最小生成树prim、
过年那几天确实没好好学习.在老家闲着也是闲着.可是就是没看书. 回来这几天又一直在弄个人博客.买域名云服务器备案什么的- -. 麻烦死了呢. 在腾讯花1块钱备案了一个网站www.goodgoodstu ...
- [Java学习] 最小生成树——Prim算法
文章目录 最小生成树 Prim算法流程 应用实例 求最小生成树 最小生成树 百度百科上对于最小生成树的定义是这样的:一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结 ...
最新文章
- c++重载(以运算符重载为主)
- 爬了下知乎神回复,这次继续笑!
- Node.js调用C#代码
- 并发编程-16AQS同步组件之CountDownLatch 闭锁
- ACM常见问题之【求逆序对】
- Ubuntu 14.04 FTP服务器--vsftpd的安装和配置
- java定义一个getsize方法,long getSize()
- 第七季4:网络telnet调试、海思proc文件系统调试接口
- PHP生成随机密码的4种方法及性能对比
- Going to 的将来时态_47
- 上海大学计算机网络实验报告3,上海大学计算机组成原理实验报告(全)
- 7.运输层---UDP
- ADAPT-PT v8.0(房屋与停车场结构里的梁、板、楼板系统之先进后拉预力软件)
- C语言求素数的两种方法
- matlab仿真没有synchr,Synchro交通仿真系统分析及应用
- 虚拟吉他手合集 UJAM Instruments Virtual Guitarist Bundle WiN-MAC
- 企业网站常见误区-金瑞帆高端建站
- 总账科目 前台操作关事务代码及操作要点
- NOIP2015提高组 信息传递(图论)
- h5 cookie获取和设置
热门文章
- ASP.NET MVC5 Entity Framework CodeFirst(代码优先)
- Java加密算法 AES
- 更新WordPress4.0访问速度慢问题解决办法
- curl访问nagios中Host Status Details For All Host Groups页面的方法
- 测量分类准确率的过程算坍缩吗?
- 神经分类行为中的引力与斥力
- 用反向传导模拟电子运动并模拟HF,HCl,HBr
- server sql 判断是否是当天_判断sql server 是否在开启服务状态
- php 文件管理系统_如何编写程序实现图书管理系统的个人图书借阅查询功能
- 仪表指针样式_PS教程!教你绘制拟物仪表盘拟物图标