【POJ】[1789]Truck History
来源:互联网 发布:网络通信是做什么的 编辑:程序博客网 时间:2024/06/14 05:49
本质就是每一个字符串与其它字符串不同的字符的个数,就是它到其它字符串的权值,然后进行求最小总权和,按照要求输出1/sum
#include<stdio.h>#include<algorithm>using namespace std;int e[2200][2200];char s[2200][7];int main() { int dis[2200]; bool flag[2200]; int N,inf=999999; while(scanf("%d",&N),N) { for(int i=1; i<=N; i++) { dis[i]=inf; flag[i]=false; } for(int i=1; i<=N; i++) { for(int j=1; j<=N; j++) { e[i][j]=inf; } } for(int i=1; i<=N; i++) scanf("%s",s[i]); for(int i=1; i<=N; i++) { for(int j=1; j<=N; j++) { if(i==j) continue; int cnt=0; for(int k=0; k<7; k++) { if(s[j][k]!=s[i][k]) cnt++; } e[i][j]=e[j][i]=cnt; } } int sum=0; dis[1]=0; while(true) { int v=-1; for(int u=1; u<=N; u++) { if(!flag[u]&&(v==-1||dis[u]<dis[v])) v=u; } if(v==-1) break; flag[v]=true; sum+=dis[v]; for(int u=1; u<=N; u++) { dis[u]=min(dis[u],e[v][u]); } } printf("The highest possible quality is 1/%d.\n",sum); } return 0;}
题目地址:【POJ】[1789]Truck History
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
- Android Fragment完全解析,关于碎片你所需知道的一切
- Hibernate的Session级缓存介绍
- 新增一个discuz 独立页面
- LeetCode 24. Swap Nodes in Pairs 解题报告
- ionic翻译:Sass
- 【POJ】[1789]Truck History
- 关于Atlas 配置及调试
- Java 序列化Serializable详解(附详细例子)
- android ems具体意义?
- BZOJ-3668 起床困难综合症 位运算+贪心
- less初学2:嵌套规则,@arguments,避免编译,!important
- Android事件分发机制完全解析,带你从源码的角度彻底理解(上)
- Android px、dp、sp之间相互转换
- MonkeyRunner实例讲解