poj 1789 Truck History
2012-08-04 10:32
274 查看
prim求最小生成树。
#include<stdio.h> #include<string.h> #define INF 100000000 #define MAXN 2100 int n, v[MAXN], low[MAXN], d[MAXN][MAXN]; char s[MAXN][10]; void prim() { int ans = 0; memset(v, 0, sizeof(v)); v[0] = 1; for(int i = 1; i < n; i ++) low[i] = d[0][i]; for(int i = 1; i < n; i ++) { int min = INF, p; for(int j = 0; j < n; j ++) if(!v[j] && min > low[j]) min = low[p=j]; ans += min; v[p] = 1; for(int j = 0; j < n; j ++) if(!v[j] && low[j] > d[p][j]) low[j] = d[p][j]; } printf("The highest possible quality is 1/%d.\n",ans); } void init() { while(scanf("%d",&n)) { if(n == 0) break; for(int i = 0; i < n; i ++) scanf("%s",s[i]); for(int i = 0; i < n; i ++) { for(int j = i+1; j < n; j ++) { int t = 0; for(int k = 0; k < 7; k ++) if(s[i][k] != s[j][k]) t ++; d[i][j] = t; d[j][i] = t; } } prim(); } } int main() { init(); return 0; }
相关文章推荐
- POJ 1789 Truck History
- poj 1789 Truck History(最小生成树 prim)
- POJ训练计划1789_Truck History(最小生成树)
- POJ 1789 Truck History(最小生成树)
- [POJ1789 Truck History]
- POJ 1789-Truck History
- Kuskal/Prim POJ 1789 Truck History
- 【POJ】[1789]Truck History
- POJ 1789 Truck History
- poj1789 - Truck History
- POJ1789 Truck History【Prim】
- POJ 1789 Truck History
- poj--1789 Truck History(最小生成树Prim算法)
- POJ 题目1789 Truck History(最小生成树)
- zoj 2158 poj 1789 Truck History (Prim)
- POJ1789 Truck History
- poj1789 Truck History 最小生成树,kruskal
- POJ 1789 Truck History
- 【最小生成树】+【并查集】-POJ-1789-Truck History
- POJ 1789 Truck History 最小生成树 kruskal && Prim