当前位置:网站首页>Truck History
Truck History
2022-07-06 16:02:00 【It's Xiao Zhang, ZSY】
Truck History
Advanced Cargo Movement, Ltd. uses trucks of different types. Some trucks are used for vegetable delivery, other for furniture, or for bricks. The company has its own code describing each type of a truck. The code is simply a string of exactly seven lowercase letters (each letter on each position has a very special meaning but that is unimportant for this task). At the beginning of company’s history, just a single truck type was used but later other types were derived from it, then from the new types another types were derived, and so on.
Today, ACM is rich enough to pay historians to study its history. One thing historians tried to find out is so called derivation plan – i.e. how the truck types were derived. They defined the distance of truck types as the number of positions with different letters in truck type codes. They also assumed that each truck type was derived from exactly one other truck type (except for the first truck type which was not derived from any other type). The quality of a derivation plan was then defined as
1/Σ(to,td)d(to,td)
where the sum goes over all pairs of types in the derivation plan such that to is the original type and td the type derived from it and d(to,td) is the distance of the types.
Since historians failed, you are to write a program to help them. Given the codes of truck types, your program should find the highest possible quality of a derivation plan.
Input
The input consists of several test cases. Each test case begins with a line containing the number of truck types, N, 2 <= N <= 2 000. Each of the following N lines of input contains one truck type code (a string of seven lowercase letters). You may assume that the codes uniquely describe the trucks, i.e., no two of these N lines are the same. The input is terminated with zero at the place of number of truck types.
Output
For each test case, your program should output the text “The highest possible quality is 1/Q.”, where 1/Q is the quality of the best derivation plan.
Sample Input
4
aaaaaaa
baaaaaa
abaaaaa
aabaaaa
0
Sample Output
The highest possible quality is 1/3. The same question , I'm going to vomit when I make the shortest spanning tree recently
The question : give n A length of 7 String , Each string represents a car , Defining the distance between cars is the number of different letters between two strings , The minimum distance of different cars required by the topic , That is, what we need is the minimum spanning tree .
prim Algorithm
Replaced by a string , That's it ,mmp
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<algorithm>
#include<iostream>
using namespace std;
#define INF 0x3f3f3f3f
int n,mp[2001][2001],dis[2001],f;
bool book[2001];
char c[2001][2001];
void prim()
{
memset(book,0,sizeof(book));
for(int i=1;i<=n;i++)
dis[i]=mp[1][i];
book[1]=1;
int ans=0;
for(int i=1;i<n;i++)
{
int minn=INF;
for(int j=1;j<=n;j++)
{
if(book[j]==0&&dis[j]<minn)
{
f=j;
minn=dis[j];
}
}
if(minn==INF)
break;
book[f]=1;
ans+=dis[f];
for(int j=1;j<=n;j++)
{
if(book[j]==0&&dis[j]>mp[f][j])
dis[j]=mp[f][j];
}
}
printf("The highest possible quality is 1/%d.\n",ans);
}
int main()
{
while(~scanf("%d",&n)&&n)
{
for(int i=1;i<=n;i++)
scanf("%s",c[i]);
for(int i=1;i<=n;i++)
{
for(int j=i+1;j<=n;j++)
{
int sum=0;
for(int k=0;k<7;k++)
{
if(c[i][k]!=c[j][k])
sum++;
}
mp[i][j]=mp[j][i]=sum;
}
}
prim();
}
return 0;
}
边栏推荐
- 0 - 1 problème de sac à dos (1)
- Research Report on market supply and demand and strategy of China's earth drilling industry
- Penetration test (8) -- official document of burp Suite Pro
- 渗透测试 ( 7 ) --- 漏洞扫描工具 Nessus
- 渗透测试 ( 4 ) --- Meterpreter 命令详解
- 初入Redis
- Alice and Bob (2021牛客暑期多校训练营1)
- Information security - threat detection engine - common rule engine base performance comparison
- Accounting regulations and professional ethics [1]
- Cost accounting [18]
猜你喜欢
Record of force deduction and question brushing
Essai de pénétration (1) - - outils nécessaires, navigation
渗透测试 ( 5 ) --- 扫描之王 nmap、渗透测试工具实战技巧合集
渗透测试 ( 4 ) --- Meterpreter 命令详解
Information security - Analysis of security orchestration automation and response (soar) technology
渗透测试 ( 1 ) --- 必备 工具、导航
Matlab comprehensive exercise: application in signal and system
Penetration test (8) -- official document of burp Suite Pro
X-forwarded-for details, how to get the client IP
[exercise-7] crossover answers
随机推荐
渗透测试 2 --- XSS、CSRF、文件上传、文件包含、反序列化漏洞
Information security - threat detection - detailed design of NAT log access threat detection platform
【练习-10】 Unread Messages(未读消息)
信息安全-史诗级漏洞Log4j的漏洞机理和防范措施
[exercise-4] (UVA 11988) broken keyboard = = (linked list)
0-1 knapsack problem (I)
STM32 how to use stlink download program: light LED running light (Library version)
想应聘程序员,您的简历就该这样写【精华总结】
渗透测试 ( 4 ) --- Meterpreter 命令详解
【练习-1】(Uva 673) Parentheses Balance/平衡的括号 (栈stack)
信息安全-威胁检测引擎-常见规则引擎底座性能比较
Penetration test (7) -- vulnerability scanning tool Nessus
Market trend report, technical innovation and market forecast of geosynthetic clay liner in China
China's earthwork tire market trend report, technical dynamic innovation and market forecast
Gartner:关于零信任网络访问最佳实践的五个建议
[teacher Gao UML software modeling foundation] collection of exercises and answers for level 20 cloud class
JS调用摄像头
Determine the Photo Position
Cost accounting [20]
滲透測試 ( 1 ) --- 必備 工具、導航