题意:
      给你一些车牌号,然后另一两个车牌号之间的权值就是这两个字符串之间相同位置不同字母的个数,然后求最小生成树。

思路:
      裸题,不解释了。

#include<stdio.h>
#include<algorithm>

using namespace std;

typedef struct
{
    int a ,b ,c;
}EDGE;

EDGE edge[2000*2000/2+10];
int mer[2000+5];
char str[2000+5][10];

bool camp(EDGE a ,EDGE b)
{
    return a.c < b.c;
}

int finds(int x)
{
    return x == mer[x] ? x : mer[x] = finds(mer[x]);
}

int main ()
{
    int n ,i ,j ,ans;
    while(~scanf("%d" ,&n) && n)
    {
        for(i = 1 ;i <= n ;i ++)
        scanf("%s" ,str[i]);
        int nowid = 0;
        for(i = 1 ;i <= n ;i ++)
        {
            for(j = i + 1 ;j <= n ;j ++)
            {
                ++nowid;
                edge[nowid].c = 0;
                edge[nowid].a = i ,edge[nowid].b = j;
                for(int k = 0 ;k < 7 ;k ++)
                if(str[i][k] != str[j][k])
                edge[nowid].c ++;
            }
            mer[i] = i;
        }
        sort(edge + 1 ,edge + nowid + 1 ,camp);
        ans = 0;
        for(i = 1 ;i <= nowid ;i ++)
        {
            int x = finds(edge[i].a);
            int y = finds(edge[i].b);
            if(x == y) continue;
            ans += edge[i].c;
            mer[x] = y;
        }
        printf("The highest possible quality is 1/%d.\n" ,ans);
    }
    return 0;

}

POJ1789简单小生成树相关推荐

  1. poj 1679 次小生成树

    次小生成树的求法: 1.Prime法 定义一个二维数组F[i][j]表示点i到点j在最小生成树中的路径上的最大权值.有个知识就是将一条不在最小生成树中的边Edge加入最小生成树时,树中要去掉的边就是E ...

  2. 最小生成树(kruskal、prim、最小生成森林问题、严格次小生成树)

    整理的算法模板合集: ACM模板 目录 一.kruskal算法 二.prim算法 三.Boruvka算法 四.生成森林问题(K颗树) 五.最小生成树的唯一性 六.严格次小生成树 LCA优化的次小生成树 ...

  3. POJ 1679 - The Unique MST(次小生成树)

    题目链接 https://vjudge.net/problem/POJ-1679 Given a connected undirected graph, tell if its minimum spa ...

  4. BZOJ1977: [BeiJing2010组队]次小生成树 Tree

    1977: [BeiJing2010组队]次小生成树 Tree 题意:求严格次小生成树 我为什么要单独发这篇呢 因为愚蠢的我不停换写法最后发现是因为没开long long所以wa掉的 很简单,次小生成 ...

  5. 图论 —— 生成树 —— 次小生成树

    [概述] 对于给定的无向图 G=(V,E),设 T 是图 G 的一个最小生成树,那么,对于除 T 外的第二小的生成树 T' 即为图的次小生成树. 简单来说,最小生成树是生成树的最小解,次小生成树是生成 ...

  6. 次小生成树 最小度限制生成树

    首先说明这是一个坑! 因为发现啊次小生成树为什不用树链剖分写(虽然麻烦但是思路各种清晰!),最小度限制生成树可以用lct写(而且是似乎要比那个直接写的算法容易因为要各种建边删边dfs(就没有考虑过时间 ...

  7. HDU 4081 Qin Shi Huang's National Road System (次小生成树算法)

    转载自http://blog.csdn.net/shuangde800 D_Double 题目: Problem Description During the Warring States Perio ...

  8. (POJ-1679)次小生成树模板

    原题链接:http://poj.org/problem?id=1679 The Unique MST Given a connected undirected graph, tell if its m ...

  9. HDU4081(次小生成树)

    1.其中:枚举每条不在最小生成树上的边,并把这条边放到最小生成树上面,然后就一定形成环,那么我们将这条环中取出最长的一条路.最终我们得到的权值便是最小生成树的权值. Max[i][j]表示的最小生成树 ...

最新文章

  1. 【Android开发—智能家居系列】(四):UDP通信发送指令
  2. 数据中心气流管理的基础:密闭系统的比较
  3. 面试题:实现call、apply、bind
  4. unity3d曲线text文本
  5. Linux 命令之 pwunconv -- 关闭投影密码
  6. centos7安装php5.2yum源操作_Centos7.6使用yum安装PHP7.2
  7. php周日,PHP减去一周周日
  8. php excel导入数据库显示乱码,php修改excel表格数据库数据格式-使用phpexcel导入excel表格数据到MYSQL,乱码怎么解决...
  9. 基于matlab的巴特沃思数字滤波器设计,基于Matlab巴特沃斯低通滤波器的设计
  10. Monitor对象是什么?
  11. 用python读取YUV文件 转RGB 8bit/10bit通用
  12. 小码哥学习感想第一天
  13. 程序员成长笔记(二):SVN,Git,Mercurial
  14. Python 实现图的深度优先和广度优先搜索
  15. Spring源码环境搭建
  16. 【PF4J】PF4J入门指南
  17. 信息学奥赛一本通(C++版)continue
  18. Java实现回溯算法中的装载问题---(详细)
  19. adobe acrobat pro dc 无法打开PDF_怎么把pdf转成PPT?PDF转PPT免费方法大分享!
  20. JS放在head和放在body中的区别

热门文章

  1. Visual studio 中调试ASP程序、Javascript 代码 - 刘稻博客
  2. 空腹吃香蕉对身体好吗?哪些水果不宜空腹吃
  3. IMail Server 8.22安装、注册
  4. UVA1103分区涂色+vc使用注意事项
  5. day1-Python擅长的领域+学习内容
  6. k-means-algorithm
  7. 洛谷P2412 查单词 [trie树 RMQ]
  8. node_modules
  9. 10.app后端选择什么开发语言
  10. 关于在linux python源文件头部添加 “#!/usr/bin/env python” 不能直接运行的问题