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

题目意思:给出 N 行,每行7个字符你,统计所有的 行 与 行 之间的差值(就是相同位置下字母不相同),一个位置不相同就为1,依次累加。问最终的差值最少是多少。

额.....题意我是没看懂啦= =......看懂之后,就转化为最小生成树来做了。这是一个完全图,即每条边与除它之外的所有边都连通。边与边的权值是通过这个差值来算出来的。

  1. #include <iostream>
  2. #include <cstdio>
  3. using namespace std;
  4.  
  5. const int maxn = + ;
  6. const int INF = 1e9;
  7. int truck[maxn][maxn];
  8. int dist[maxn], vis[maxn];
  9. char input[maxn][maxn];
  10. int ans, N;
  11.  
  12. void prim()
  13. {
  14. int k;
  15. for (int i = ; i <= N; i++)
  16. {
  17. vis[i] = ;
  18. dist[i] = INF;
  19. }
  20. dist[] = ;
  21. for (int i = ; i <= N; i++)
  22. {
  23. int tmp = INF;
  24. for (int j = ; j <= N; j++)
  25. {
  26. if (!vis[j] && dist[j] < tmp)
  27. {
  28. tmp = dist[j];
  29. k = j;
  30. }
  31. }
  32. vis[k] = ;
  33. ans += tmp;
  34. for (int j = ; j <= N; j++)
  35. {
  36. if (!vis[j] && dist[j] > truck[k][j])
  37. dist[j] = truck[k][j];
  38. }
  39. }
  40. }
  41.  
  42. int main()
  43. {
  44. while (scanf("%d", &N) != EOF && N)
  45. {
  46. for (int i = ; i <= N; i++)
  47. scanf("%s", &input[i]);
  48. int cnt;
  49. for (int i = ; i < N; i++)
  50. {
  51. for (int j = i+; j <= N; j++)
  52. {
  53. cnt = ;
  54. for (int k = ; k < ; k++)
  55. {
  56. if (input[i][k] != input[j][k])
  57. cnt++;
  58. }
  59. truck[i][j] = truck[j][i] = cnt;
  60. }
  61. }
  62. ans = ;
  63. prim();
  64. printf("The highest possible quality is 1/%d.\n", ans);
  65. }
  66. return ;
  67. }

poj 1789 Truck History 解题报告的更多相关文章

  1. Kuskal/Prim POJ 1789 Truck History

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

  2. POJ 1789 -- Truck History(Prim)

     POJ 1789 -- Truck History Prim求分母的最小.即求最小生成树 #include<iostream> #include<cstring> #incl ...

  3. poj 1789 Truck History

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

  4. POJ 1789 Truck History【最小生成树简单应用】

    链接: http://poj.org/problem?id=1789 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22010#probl ...

  5. POJ 1789 Truck History (Kruskal)

    题目链接:POJ 1789 Description Advanced Cargo Movement, Ltd. uses trucks of different types. Some trucks ...

  6. poj 1789 Truck History 最小生成树

    点击打开链接 Truck History Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 15235   Accepted:  ...

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

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

  8. poj 1789 Truck History【最小生成树prime】

    Truck History Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 21518   Accepted: 8367 De ...

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

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

随机推荐

  1. Java远程调用BPS流程实现流程运行简单示例

    1.简介:略 2.背景:略 3.目的:自我学习笔记 4.实现过程 (1).画出流程图 如下: 路由活动分支下的条件语句为复杂表达式: ((account<200&&divisio ...

  2. Phantomjs和Casperjs,后台网页抓取和交互

    var casper = require('casper').create({ verbose: true, logLevel: 'debug', pageSettings: { loadImages ...

  3. android中bitmap图片与二进制,String间的转化

    1, public Bitmap stringtoBitmap(String string) {                 // 将字符串转换成Bitmap类型                 ...

  4. android apk程序升级

    1 .设置apk版本号 Androidmanifest.xml <manifest xmlns:android="http://schemas.android.com/apk/res/ ...

  5. openSUSE Leap 15.0 初始配置

    添加源: # 禁用原有软件源 sudo zypper mr -da # 添加阿里镜像源 sudo zypper ar -fc https://mirrors.aliyun.com/opensuse/d ...

  6. noip2013华容道

    题目描述 [问题描述] 小 B 最近迷上了华容道,可是他总是要花很长的时间才能完成一次.于是,他想到用编程来完成华容道:给定一种局面, 华容道是否根本就无法完成,如果能完成, 最少需要多少时间. 小 ...

  7. 【Java TCP/IP Socket】基于NIO的TCP通信(含代码)

    NIO主要原理及使用 NIO采取通道(Channel)和缓冲区(Buffer)来传输和保存数据,它是非阻塞式的I/O,即在等待连接.读写数据(这些都是在一线程以客户端的程序中会阻塞线程的操作)的时候, ...

  8. 打印报表以显示具有给定责任的用户-FNDSCRUR责任用户

    select --&p_hint         distinct         user_name,         decode (            greatest (u.sta ...

  9. js -- 监听窗口的大小变化

  10. String、StringBuffer和StringBuilder的差别

    String.StringBuffer和StringBuilder的差别 1.String类是不可变类,即一旦一个String对象被创建后.包括这个对象中的字符序列是不可改变的 2.在字符串拼接的过程 ...