• poj 1789


    最小生成树的基本知识,此图很稠密,所以选用Prim算法要快,Prim O(n2),Kruckal O(elog2e),向此题,e代表边数,远大于n,顶点数,所以选Prim

    #include <iostream>
    using namespace std;
    const int maxn=2001;
    char s[maxn][7];
    int edge[maxn][maxn];
    int lit[maxn];
    int chan(int a,int b)
    {
    	int amou=0;
    	for(int i=0;i<7;i++)
    	{
    		if(s[a][i]!=s[b][i]) amou++;
    	}
    	if(amou) return amou;
    	else return 10;
    }
    int main()
    {
    	int n;
    	while(cin>>n&&n)
    	{
    		int i,j;
    		for(i=0;i<n;i++)
    			cin>>s[i];
    		for(i=0;i<n;i++)
    		{
    			for(j=0;j<n;j++)
    			{
    				edge[i][j]=chan(i,j);
    			}
    		}
    		for(i=1;i<n;i++)
    			lit[i]=edge[0][i];
    		int t=1,min,k;
    		int tot=0;
    		for(;t<n;t++)
    		{
    			min=10;
    			for(i=0;i<n;i++)
    			{
    				if(lit[i]&&lit[i]<min)
    				{
    					min=lit[i];
    					k=i;
    				}
    			}
    			lit[k]=0;
    			tot+=min;
    			for(i=0;i<n;i++)
    			{
    				if(edge[k][i]<lit[i])
    					lit[i]=edge[k][i];
    			}
    		}
    		printf("The highest possible quality is 1/%d.\n",tot);
    	}
    	return 0;
    }


  • 相关阅读:
    数据攻略●R语言自述
    测试实例
    xml反射
    过滤器
    使用s标签来进行简单的表格配置
    将Spring、Hibernate、Struts2连接起来
    Spring容器
    初见Spring框架
    Spring框架的AOP
    Hibernate里面的几个方法
  • 原文地址:https://www.cnblogs.com/lj030/p/3002305.html
Copyright © 2020-2023  润新知