zoukankan      html  css  js  c++  java
  • poj1789 Truck History

    每个字符串可看成一点,每两个字符串不相同的字母的数量可看成两点之间的距离。

    求1/Q的最大值即相当于求最小生成树,用prim即可。

    #include<iostream>
    #include<stdio.h>
    #include<string.h>
    #define MAXD 2010
    #define INF 0x3f3f3f3f
    using namespace std;
    int N,graph[MAXD][MAXD],res;
    char data[MAXD][8];
    
    void MST_PRIM()
    {
        int key[MAXD],flag,p;
        bool vis[MAXD];
        memset(vis,0,sizeof(vis));
        memset(key,0x3f,sizeof(key));
        key[1]=0;
        int i,j;
        for(i=1;i<=N;i++)
        key[i]=graph[1][i];
        vis[1]=true;
        res=0;
        for(i=1;i<N;i++)
        {
            flag=INF,p=-1;
            for(j=1;j<=N;j++)
            {
                if(!vis[j]&&key[j]<flag)
                {
                    flag=key[j];
                    p=j;
                }
            }
            vis[p]=true;
            res+=flag;
            for(j=1;j<=N;j++)
            {
                if(!vis[j]&&key[j]>graph[p][j])
                key[j]=graph[p][j];
            }
        }
    }
    int main()
    {
        //freopen("test.txt","r",stdin);
        while(scanf("%d",&N)!=EOF)
        {
            if(N==0)
            return 0;
            int i,j,k;
            for(i=1;i<=N;i++)
            {
                scanf("%s",data[i]);
            }
            memset(graph,0,sizeof(graph));
            for(i=1;i<=N;i++)
            {
                for(j=i+1;j<=N;j++)
                {
                    for(k=0;k<8;k++)
                    {
                        if(data[i][k]!=data[j][k])
                        graph[i][j]++;
                    }
                    graph[j][i]=graph[i][j];
                }
            }
            MST_PRIM();
            printf("The highest possible quality is 1/%d.\n",res);
        }
        return 0;
    }
  • 相关阅读:
    特性(Attribute)
    泛型
    AngularJS 基础用法
    js date相关学习!
    android 数据存储分配的一些事
    angularjs model.service vs provider vs factory?
    angularJS 判断
    zepto.js 学习之(一)
    angularJS Directive学习
    AngularJS继续中
  • 原文地址:https://www.cnblogs.com/longlongagocsu/p/2870179.html
Copyright © 2011-2022 走看看