• Poj(1789),最小生成树,Prim


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

    还是套路。

    #include <stdio.h>
    #include <string.h>
    
    #define INF 0x3f3f3f3f
    
    int maps[2005][2005];
    char str[2005][2005];
    int dis[2005];
    bool vis[2005];
    int n;
    
    int Prim()
    {
        memset(vis,false,sizeof(vis));
        for(int i=1; i<=n; i++)
            dis[i] = INF;
        int ans=0;
        dis[1] = 0;
        for(int i=1; i<=n; i++)
        {
            int tmp = INF,k=0;
            for(int j=1; j<=n; j++)
            {
                if(!vis[j]&&dis[j]<tmp)
                {
                    tmp = dis[j];
                    k=j;
                }
            }
    
            vis[k] = true;
            ans+=tmp;
            for(int i=1; i<=n; i++)
            {
                if(!vis[i]&&dis[i]>maps[k][i])
                    dis[i] = maps[k][i];
            }
        }
        return ans;
    }
    
    int main()
    {
        while(scanf("%d",&n),n)
        {
            for(int i=0;i<n;i++)
                scanf("%s",str[i]);
    
            for(int i=0;i<n;i++)
            {
                for(int j=0;j<n;j++)
                {
                    int dist = 0;
                    for(int k=0;k<7;k++)
                    {
                        if(str[i][k]!=str[j][k])
                            dist++;
                    }
                    maps[i+1][j+1] = dist;
                }
            }
            printf("The highest possible quality is 1/%d.
    ",Prim());
        }
        return 0;
    }
  • 相关阅读:
    python向mysql中插入数字、字符串、日期总结
    selenium鼠标事件
    iOS hook
    网络抓包篇
    frida IOS环境搭建
    git
    $emit
    better-scroll无法滚动的问题。
    this.$nextTick()作用
    better-scroll
  • 原文地址:https://www.cnblogs.com/TreeDream/p/5728397.html
Copyright © 2020-2023  润新知