码迷,mamicode.com
首页 > 其他好文 > 详细

poj 1789 Truck History 解题报告

时间:2014-08-15 23:43:19      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   io   for   ar   

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

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

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

     

 1 #include <iostream>
 2 #include <cstdio>
 3 using namespace std;
 4 
 5 const int maxn = 2000 + 10;
 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 = 1; i <= N; i++)
16     {
17         vis[i] = 0;
18         dist[i] = INF;
19     }
20     dist[1] = 0;
21     for (int i = 1; i <= N; i++)
22     {
23         int tmp = INF;
24         for (int j = 1; j <= N; j++)
25         {
26             if (!vis[j] && dist[j] < tmp)
27             {
28                 tmp = dist[j];
29                 k = j;
30             }
31         }
32         vis[k] = 1;
33         ans += tmp;
34         for (int j = 1; 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 = 1; i <= N; i++)
47             scanf("%s", &input[i]);
48         int cnt;
49         for (int i = 1; i < N; i++)
50         {
51             for (int j = i+1; j <= N; j++)
52             {
53                 cnt = 0;
54                 for (int k = 0; k < 7; 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 = 0;
63         prim();
64         printf("The highest possible quality is 1/%d.\n", ans);
65     }
66     return 0;
67 }

 

poj 1789 Truck History 解题报告,布布扣,bubuko.com

poj 1789 Truck History 解题报告

标签:style   blog   http   color   os   io   for   ar   

原文地址:http://www.cnblogs.com/windysai/p/3915800.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!