閱讀220 返回首頁    go 阿裏雲 go 技術社區[雲棲]


poj 1789 Truck History MST

   prim

/*
author:jxy
lang:C/C++
university:China,Xidian University
**If you need to reprint,please indicate the source**
*/
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <queue>
#define INF 1E9
using namespace std;
int d[2001];
string org[2001];
bool vis[2001];
int n;
int prim()
{
    int Min,now=0,i,k,K=n,ans=0,t;
    while(K--)
    {
        Min=INF;
        for(i=0;i<n;i++)
        {
            if(!vis[i]&&d[i]<Min)
            {
                Min=d[i];now=i;
            }
        }
        vis[now]=1;
        if(now)ans+=Min;
        for(i=0;i<n;i++)
        {
            if(vis[i])continue;
            t=0;
            for(k=0;k<7;k++)
              if(org[now][k]!=org[i][k])t++;
            if(d[i]>t)d[i]=t;
        }
    }
    return ans;
}
int main()
{
    int i;
    while(~scanf("%d",&n)&&n)
    {
        memset(vis,0,sizeof(vis));
        memset(d,127,sizeof(d));
        for(i=0;i<n;i++)
          cin>>org[i];
        printf("The highest possible quality is 1/%d.\n",prim());
    }
}


最後更新:2017-04-04 07:03:45

  上一篇:go 從數據庫導出大量數據記錄保存到文件的方法和實例
  下一篇:go 采用commons-configuration包實現屬性文件讀取的工具類