POJ 1789 -- Truck History

Prim求分母的最小。即求最小生成树

 #include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn = + ;
const int INF = ;
int n;//有几个卡车
char str[maxn][];
int d[maxn];//记录编号的数值
int Edge[maxn][maxn];
int dist[maxn];
void prim()
{
int sum=;
//加入源点
dist[] = -;
for(int i=;i<n;i++)
{
dist[i] = Edge[][i];
} for(int i=;i<n;i++)//依次加入n-1条边
{
int min = INF,pos;
for(int j=;j<n;j++)//找出最小的一条
{
if(min>dist[j] && dist[j]!=-)
{
min = dist[j];pos = j;
}
}
//将pos加入
dist[pos] = -;sum+=min;
//进行路径的更新
for(int k=;k<n;k++)
{
if(dist[k] > Edge[pos][k])
dist[k]=Edge[pos][k];
}
}
cout<<"The highest possible quality is 1/"<<sum<<"."<<endl;
} int main()
{
while(cin>>n && n)
{
for(int i=;i<n;i++)
{
cin>>str[i];
}
for(int i=;i<n;i++)
{
int num=;
for(int k=;k<;k++)
num += (int)(str[i][k] - 'a');
d[i] = num;
}
memset(Edge,,sizeof(Edge));
for(int i=;i<n;i++)
{
for(int j=i+;j<n;j++)
{
int temp = ;
for(int k=;k<;k++)
{
temp += str[i][k]!=str[j][k];
}
Edge[i][j] = Edge[j][i] = temp;
}
}
memset(dist,INF,sizeof(dist));
prim(); } return ;
}

POJ 1789 -- Truck History(Prim)的更多相关文章

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

    Truck History 题目链接: http://acm.hust.edu.cn/vjudge/contest/124434#problem/E Description Advanced Carg ...

  2. POJ 1789 Truck History(Prim+邻接矩阵)

    ( ̄▽ ̄)" #include<iostream> #include<cstdio> #include<cstring> #include<algo ...

  3. poj 1789 Truck History(最小生成树)

    模板题 题目:http://poj.org/problem?id=1789 题意:有n个型号,每个型号有7个字母代表其型号,每个型号之间的差异是他们字符串中对应字母不同的个数d[ta,tb]代表a,b ...

  4. poj 1789 Truck History 最小生成树 prim 难度:0

    Truck History Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 19122   Accepted: 7366 De ...

  5. poj 1789 Truck History(kruskal算法)

    主题链接:http://poj.org/problem?id=1789 思维:一个一个点,每两行之间不懂得字符个数就看做是权值.然后用kruskal算法计算出最小生成树 我写了两个代码一个是用优先队列 ...

  6. Kuskal/Prim POJ 1789 Truck History

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

  7. POJ 1789:Truck History(prim&amp;&amp;最小生成树)

    id=1789">Truck History Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 17610   ...

  8. poj 1789 Truck History

    题目连接 http://poj.org/problem?id=1789 Truck History Description Advanced Cargo Movement, Ltd. uses tru ...

  9. POJ 1251 Jungle Roads (prim)

    D - Jungle Roads Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u Su ...

随机推荐

  1. bash shell脚本之查看当前日期以及登陆用户

    查看当前日期以及登陆用户: cat test1: #!/bin/bash # This script displays the date and who's logged on echo -n The ...

  2. C#面向对象(抽象类、接口、构造函数、重载、静态方法和静态成员)

    1.抽象类    抽象类关键词   abstract   (抽象)  override    (重写) 在父集中用   abstract 表示抽象类,抽象方法,在子集中用  override 改写 抽 ...

  3. 【Java并发】基础

    一.概述 1.1 线程与进程区别 1.2 多线程引发的性能问题 二.多线程创建方式 2.1 第一种-继承Thread类 2.2 第二种-实现Runnable接口 2.3 第三种-实现Callable接 ...

  4. MySQL的sql_mode参数之NO_AUTO_VALUE_ON_ZERO对主键ID为0的记录影响

    最近遇到一个不合理使用数据库进行项目开发最终导致项目进度受阻的一个问题,某天几位开发人员找到我并告知数据库中某张表数据无法写入,又告知某行记录被删除了,因为被删除的记录对开发框架影响很大,他们已尝试重 ...

  5. iview 表单验证不通过问题?

    项目需要,需要怂iview..使用一段时间感觉跟elementUI用起来差不多很方便.使用过程中遇到表单验证问题,如何避免在验证过程中偶尔出现验证不通过的异常情况? <1>:给 <F ...

  6. 最简单之安装azkaban

    一,拉取源码构建 git clone https://github.com/azkaban/azkaban.git cd azkaban; ./gradlew build installDist 二, ...

  7. C语言之volatile

    emOsprey  鱼鹰谈单片机 2月21日 预计阅读时间: 4 分钟 和 const 不同(关于 const 可以看 const 小节),当一个变量声明为 volatile,说明这个变量会被意想不到 ...

  8. django + ckeditor + 七牛云,图片上传到七牛云

    传送门 本人使用的是 Django 的自带的管理后台,安装 ckeditor 富文本编辑器后,上传图片的时候直接传到七牛云的.

  9. C# WebBrowser使用 网络(二)

    WebBrowser 简单操作 Form 代码 public partial class Form1 : Form { public Form1() { InitializeComponent(); ...

  10. 【转】pe结构详解

    (一)基本概念 PE(Portable Execute)文件是Windows下可执行文件的总称,常见的有DLL,EXE,OCX,SYS等, 事实上,一个文件是否是PE文件与其扩展名无关,PE文件可以是 ...