poj-1789 Truck History
来源:互联网 发布:会员php系统源码 编辑:程序博客网 时间:2024/04/26 01:47
http://poj.org/problem?id=1789
题意理解就是裸的MST
#include<cstdio>#include<iostream>#include<cstring>#define INF 0x3f3f3f3fusing namespace std;char str[2010][10];int dis[2010],edge[2010][2010];bool vis[2010];int m,ans;int cmp(int x,int y){ int cnt=0; for(int i=0;i<7;i++) { if(str[x][i]!=str[y][i]) cnt++; } return cnt;}int prim(){ int u=0,tmp;ans = 0; memset(vis,false,sizeof(vis)); for(int i=0;i<m;i++) { dis[i]=edge[u][i]; } vis[u]=1; for(int j=1;j<m;j++) { tmp=INF; for(int i=1;i<m;i++) { if(!vis[i] && dis[i]<tmp) { tmp = dis[i]; u = i; } } vis[u]=1; ans+=tmp; for(int i=0;i<m;i++) { if(!vis[i] && edge[u][i]<dis[i]) dis[i]=edge[u][i]; } } return ans;}int main(){ while(scanf("%d",&m)!=EOF) { if(m==0) break; for(int i=0;i<m;i++) for(int j=0;j<m;j++) { if (i == j) edge[i][j] = 0; else edge[i][j] = INF; } for(int i=0;i<m;i++) scanf("%s",str[i]); for(int i=0;i<m;i++) { for(int j=0;j<m;j++) { if(i==j) edge[i][j]=edge[j][i]=0; else edge[i][j]=edge[j][i]=cmp(i,j); } } printf("The highest possible quality is 1/%d.\n",prim()); } 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
- 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
- POJ 1789 Truck History
- POJ 1789 Truck History
- POJ 1789 Truck History
- POJ 1789 Truck History
- 蓝桥杯 算法训练 操作格子 (线段树)
- 学习python第一天
- leetcode12 Integer to Roman
- 南京门户网 00a5gkzj
- 癫痫病治疗中心 00dnpmfi
- poj-1789 Truck History
- c# 窗口图片绘制
- 儿童癫痫的治疗方法 00i3ag2o
- 几何图形
- Optimizing for production with Laravel 4
- 男性癫痫的症状 00kxebzo
- 使用Itext生成PDF绝对定位流入web网页
- filter讲解2
- 10个有关String的面试问题