POJ 1789 -- Truck History

Prim求分母的最小。即求最小生成树

 #include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn = + ;
const int INF = ;
int n;//有几个卡车
char str[maxn][];
int d[maxn];//记录编号的数值
int Edge[maxn][maxn];
int dist[maxn];
void prim()
{
int sum=;
//加入源点
dist[] = -;
for(int i=;i<n;i++)
{
dist[i] = Edge[][i];
} for(int i=;i<n;i++)//依次加入n-1条边
{
int min = INF,pos;
for(int j=;j<n;j++)//找出最小的一条
{
if(min>dist[j] && dist[j]!=-)
{
min = dist[j];pos = j;
}
}
//将pos加入
dist[pos] = -;sum+=min;
//进行路径的更新
for(int k=;k<n;k++)
{
if(dist[k] > Edge[pos][k])
dist[k]=Edge[pos][k];
}
}
cout<<"The highest possible quality is 1/"<<sum<<"."<<endl;
} int main()
{
while(cin>>n && n)
{
for(int i=;i<n;i++)
{
cin>>str[i];
}
for(int i=;i<n;i++)
{
int num=;
for(int k=;k<;k++)
num += (int)(str[i][k] - 'a');
d[i] = num;
}
memset(Edge,,sizeof(Edge));
for(int i=;i<n;i++)
{
for(int j=i+;j<n;j++)
{
int temp = ;
for(int k=;k<;k++)
{
temp += str[i][k]!=str[j][k];
}
Edge[i][j] = Edge[j][i] = temp;
}
}
memset(dist,INF,sizeof(dist));
prim(); } return ;
}

最新文章

  1. xpath提取多个标签下的text
  2. 关于Linux下转换oracle字符集
  3. string,stringbuilder,stringbuffer用法
  4. 深入理解Java之泛型
  5. 阿里巴巴分布式服务框架dubbo学习笔记
  6. Voreen (一) GPU Raycast主流程
  7. mybatis generator使用(基于maven)
  8. 組裝工廠設置IQC的目的
  9. eclipse svn2.0.0插件 手动安装方法
  10. zimbra启用SMTP认证并绑定认证登录和发件人
  11. ArrayList implementation
  12. Swift.Operator-and-Items-in-Swift(1)
  13. (Prim算法)codeVs 1078 最小生成树
  14. zabbix3.4.7使用过程中常见错误
  15. [bcc32 Error] ws2def.h(231): E2238 Multiple declaration for &#39;sockaddr&#39;
  16. Vue.js之组件系统
  17. 设置ssh key后push为什么还要输入用户名和密码
  18. sublime text 3 常见问题总结 pyv8
  19. ORACLE 根据根节点查所有上层节点
  20. centos7 kdump.service启动失败的解决方法

热门文章

  1. 微信小程序配置动态title
  2. 前端基础(三):JavaScript
  3. etcd安装和简单使用
  4. udp单播,广播,多播实现(ReceiveFromAsync,SendToAsync)
  5. visual studio 和visual studio code 的区别是什么?
  6. python_函数参数
  7. Java笔记(第六篇-网络通信)
  8. Java笔记(基础第四篇)
  9. Codeforces Round #591 (Div. 2, based on Technocup 2020 Elimination Round 1) A. CME
  10. Codeforces Round #588 (Div. 2) D. Marcin and Training Camp(思维)