题意 : 说实话,题意我没看懂,后来让人给我讲的样例。。。。。

4

aaaaaaa

baaaaaa

abaaaaa

aabaaaa

0

这个样例的话,就是输入n下面n行,每行7个字母,让你依次选两行进行比较,不同的有多少个,所以题目中给的样例,1,2行一个不同的,1,3行一个不同的,1,4行一个不同的,所以距离是3,2,3行两个不同的,2,1行一个不同的,2,4行两个不同的,距离是4,这样找下去,可以构成一个无向图,找最小生成树。

解题思路 : 其实就是一个转化问题,将给的字符串转化成距离的二维数组再找最小生成树即可

 #include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
const int inf = << ;
const int maxn = ;
int vis[maxn];
int low[maxn];
int dis[maxn][maxn];
char ch[maxn][maxn];
int i,j,k,n;
int sum ;
int prim()
{
int ans = , i, j, flag=, min;
memset(vis,,sizeof(vis));
for(i = ; i <= n; i++)
{
low[i] = dis[][i];
}
//low[1]=0;
//vis[1] = 1;
for(i = ; i <= n; i++)
{
min = inf;
flag = ;
for(j = ; j <= n; j++)
{
if(min > low[j] && !vis[j])
{
min = low[j];
flag = j;
}
}
ans += min;
vis[flag] = ;
for(j = ; j <= n; j++)
{
if(dis[flag][j] < low[j] && !vis[j])
{
low[j] = dis[flag][j];
}
}
}
return ans;
}
int main()
{
while(cin>>n&&n)
{
for(i = ; i <= n ; i++)
cin>>ch[i] ;
for(i = ; i <= n ; i++)
{
for(j = ; j <= n ; j++)
{
sum = ;
for(k = ; k < ; k++)
{
if(ch[i][k] != ch[j][k])
sum++;
}
dis[i][j] = dis[j][i] = sum;
}
}
cout<<"The highest possible quality is 1/"<<prim()<<"."<<endl;
}
return ;
}

POJ1789Truck History的更多相关文章

  1. poj--1789--Truck History(prim)

    Truck History Time Limit: 2000MS   Memory Limit: 65536KB   64bit IO Format: %I64d & %I64u Submit ...

  2. History API与浏览器历史堆栈管理

    移动端开发在某些场景中有着特殊需求,如为了提高用户体验和加快响应速度,常常在部分工程采用SPA架构.传统的单页应用基于url的hash值进行路由,这种实现不存在兼容性问题,但是缺点也有--针对不支持o ...

  3. 使用backbone的history管理SPA应用的url

    本文介绍如何使用backbone的history模块实现SPA应用里面的URL管理.SPA应用的核心在于使用无刷新的方式更改url,从而引发页面内容的改变.从实现上来看,url的管理和页面内容的管理是 ...

  4. 使用h5的history改善ajax列表请求体验

    信息比较丰富的网站通常会以分页显示,在点“下一页”时,很多网站都采用了动态请求的方式,避免页面刷新.虽然大家都是ajax,但是从一些小的细节还是 可以区分优劣.一个小的细节是能否支持浏览器“后退”和“ ...

  5. HTML5学习笔记之History API

    这系列文章主要是学习Html5相关的知识点,以学习API知识点为入口,由浅入深的引入实例,让大家一步一步的体会"h5"能够做什么,以及在实际项目中如何去合理的运用达到使用自如,完美 ...

  6. Linux下history命令用法

    如果你经常使用 Linux 命令行,那么使用 history(历史)命令可以有效地提升你的效率.本文将通过实例的方式向你介绍 history 命令的 15 个用法. 使用 HISTTIMEFORMAT ...

  7. safari 浏览器window.history.go(-1)运行无效解决办法

    这几天做了几个手机端app的wap页面,做完之后发现一个问题,那就是ios系统下的safari浏览器不支持window.history.go(-1)..无语... 解决方法很简单!加上return f ...

  8. History lives on in this distinguished Polish city II 2017/1/5

    原文 Some fresh air After your time underground,you can return to ground level or maybe even a little ...

  9. History lives on in this distinguished Polish city 2017/1/4

    原文 History lives on in this distinguished Polish city Though it may be ancient. KraKow, Poland, is a ...

随机推荐

  1. 实验九--裸机LCD

    一.环境 系统:ubuntu12.04 开发板:jz2440 编译器:gcc 二.说明 有空补上 三.代码 Makefile: CC = arm-linux-gcc LD = arm-linux-ld ...

  2. Ubuntu14.04 安装 PHP cURL

    今天遇到 Fatal error: Call to undefined function curl_init() in /xxx/xxxx/www/application/library/Ku/Htt ...

  3. Easyui datebox控件打开页面就验证解决方法

    问题描述: datebox时间控件有些场景下默认值需要为空,但是为空的情况下打开页面会自动验证,十分影响美观. 实现原理: <input class="easyui-databox&q ...

  4. JS一些语法

    1.解构(ES6的语法) 我个人理解就是有一个对象,对象里有几个属性,然后在定义新的变量的时候可以直接指定为和对象里属性名一样的名字,然后就可以关联到新的变量上来.下面看一个小测试例子: //解构 l ...

  5. Spark菜鸟学习营Day6 分布式代码运行调试

    Spark菜鸟学习营Day6 分布式代码运行调试 作为代码调试,一般会分成两个部分 语法调试,也就是确定能够运行 结果调试,也就是确定程序逻辑的正确 其实这个都离不开运行,所以我们说一下如何让开发的S ...

  6. EWOULDBLOCK = EAGAIN

    #define EAGAIN 11 /* Try again */ #define EINTR 4 /* Interrupted system call */ #define EWOULDBLOCK ...

  7. CSS3实战之新增的选择器

    用的比较少 看到知道怎么回事就ok http://www.w3.org/TR/css3-selectors/#selectors http://www.cnblogs.com/jscode/archi ...

  8. CentOS 6.0 设置IP地址、网关、DNS

    切忌:    在做任何操作之前先备份原文件,我们约定备份文件的名称为:源文件名称+bak,例如原文件名称为:centos.txt    那么备份文件名称为:centos.txtbak 引言:linux ...

  9. 屌丝IT男

    偶尔翻到豆瓣里一篇对中国屌丝的批评,突然想到当年美国那个垮掉的一代,吸毒,淫乱,绝望的生存,而如今我们苦逼的80后自诩为屌丝的时候,也不想想每一个堕落的时代还是有牛逼的人存在,中国的大学,绝大部分在逃 ...

  10. Careercup - Google面试题 - 5205167846719488

    2014-05-03 23:35 题目链接 原题: For a given node in binary search tree find a next largest number in searc ...