POJ-1789 Truck History 裸最小生成树
来源:互联网 发布:散爆网络 编辑:程序博客网 时间:2024/06/08 05:12
题目链接
#include<stdio.h>#include<iostream>#include<string>#include<string.h>#include<math.h>#include<algorithm>#include<vector>#include<queue>using namespace std;const int maxn = 2005;const int inf = 1<<30;int n;int map[maxn][maxn],dis[maxn];bool vis[maxn];string str[maxn];int getDis( int a,int b ){int cnt = 0;for( int i = 0; i < str[a].length(); i ++ )if( str[a][i] != str[b][i] )cnt ++;return cnt;}int prime( int s ){int ans = 0;memset(vis,0,sizeof(vis));for( int i = 0; i < n; i ++ )dis[i] = map[s][i];vis[s] = true;for( int i = 1; i < n; i ++ ){int min = inf,p = s;for( int j = 0; j < n; j ++ )if( !vis[j] && dis[j] < min )min = dis[p=j];ans += min;vis[p] = true;for( int j = 0; j < n; j ++ ){if( dis[j] > map[p][j] )dis[j] = map[p][j];}}return ans;}int main(){ //freopen("data.txt","r",stdin); while( scanf("%d",&n) != EOF,n ){for( int i = 0; i < n; i ++ )cin >> str[i];for( int i = 0; i < n; i ++ ){map[i][i] = 0;for( int j = i+1; j < n; j ++ )map[i][j] = map[j][i] = getDis( i,j );}printf("The highest possible quality is 1/%d.\n",prime(0));} return 0;}
0 0
- poj 1789 Truck History 最小生成树
- poj 1789 Truck History 最小生成树
- poj 1789 Truck History 最小生成树
- POJ 1789 Truck History 最小生成树
- POJ 1789 Truck History 最小生成树
- POJ 1789 Truck History(最小生成树)
- poj-1789 Truck History 最小生成树
- Truck History - POJ 1789 最小生成树
- POJ 1789--Truck History(最小生成树)
- poj 1789 Truck History 最小生成树
- POJ 1789 Truck History (最小生成树)
- poj 1789 Truck History 【最小生成树】
- POJ 1789 Truck History(最小生成树)
- Poj 1789 Truck History【最小生成树】
- poj-1789Truck History(最小生成树)
- poj 1789 Truck History 最小生成树
- poj 1789 Truck History 最小生成树
- POJ-1789-Truck History-最小生成树
- 《java解惑》读书笔记5——异常谜题
- FireEvent结合WSH实现右键菜单操作
- java入门
- CC2530关于flash的地址的问题讲解
- apache用户名和密码验证
- POJ-1789 Truck History 裸最小生成树
- MySQL性能优化的最佳20+条经验
- 从零开始——为面试做准备,代码篇(二)
- Tomcat 学习进阶历程之启动脚本篇一:startup.bat
- android开发如何使用SQLite数据库教程
- 时间复杂度
- POJ 3237树链剖分
- UVA 11732 strcmp() Anyone (Trie)
- 产品有什么核心价值可供交换