#P1461. 2024.10.9-秋招(留学生)-第1题-无线基站名字相似度

2024.10.9-秋招(留学生)-第1题-无线基站名字相似度

题目内容

在无线通信中,每一个基站都会有一个名字,一般同一个区域的基站名字会比较相近,可以通过判断两个基站名字相似程度来识别它是否在同一区域。通过基站间的名字字符串之间转换,来判断两个基站名字的相似度。字符之间的转换只有33种操作(增,删,改):

11、增:插入一个字符;

22、删:删除一个字符;

33、改: 替换一个字符;

并且以上33种操作分别对应不同的打分项,得分越低,说明相似度越高。

11)增 33分; 22) 删 33分; 33)替换,字符在以下两分组内同一组的得11分,分别在两个组的得22分,其他得33

11{w,i,r,e,l,@,c,o,m'w', 'i, 'r', 'e','l, '@', 'c', 'o','m'}

22{h,f,v,'h,'f', 'v', '#',g,b,t,s'g', 'b', 't', 's'}

给定两个无线基站名字,请识别出相似度(即字符转换操作的最低得分)。

输入描述

输入两个名字字符串

注:字符串长度范围[1,2000]。

输出描述

输出两者之间的相似度

样例1

输入

chu
xu		

输出

6

说明

基站名字11为“chuchu",基站名字2“xuxu”,进行这两个基站名字间的字符转换步骤:

11cc替换为x:chu>xhux: chu -> xhucc在组11内,xx不在,所以得分33

第2步 hh删除: xhu>xuxhu -> xu,得分33

总得分为66,所以相似度为66,输出66

样例2

输入

jinhailu
jinzhanglu

输出

8

说明

基站名字11为“jinhailujinhailu",基站名字22jinzanglujinzanglu",进行这两个基站名字间的字符转换步骤:

路径11:

11hh替换为z:jinhailu>jinzailuz:jinhailu -> jinzailuhh在组22zz不在,所以得分为33

22ii替换为nn:jinzailu>jinzanlujinzailu -> jinzanluii在组11nn不在,所以得分为33

33步 插入g:jinzanlu>jinzanglug:jinzanlu -> jinzanglu,得分为33

总得分为77

路径22:

11hh替换为z:jinhailu>jinzailuz:jinhailu -> jinzailu,hh在组22zz不在,所以得分为33

22步 插入n:jinzailu>jinzanilun:jinzailu -> jinzanilu,插入操作得分为33

33ii替换为g:jinzanilu>jinzanglujinzanilu -> jinzangluii在组11gg在组22,所以得分为22

总得分为88

所以路径22,得分少,选择路径22,输出88