GESP编程共123题,本题是整站第1400题,已经有人完成了本题,加油!
对于两个字符串 A 和 B,如果 A 可以通过删除一个字符,或插入一个字符,或修改一个字符变成 B,那么我们说 A 和 B 是相似的。
比如 apple 可以通过插入一个字符变成 applee,可以通过删除一个字符变成 appe,也可以通过修改一个字符变成 bpple。因此 apple 和 applee、appe、bpple 都是相似的。但 applee 并不能 通过任意一个操作变成 bpple,因此它们并不相似。
特别地,两个完全相同的字符串也是相似的。
给定 T 组 A,B,请你分别判断它们是否相似。
第一行一个正整数 T。
接下来 T 行,每行两个用空格隔开的字符串 A 和 B。
对组 A,B,如果他们相似,输出 similar
,否则输出 not similar
。
输入 #1
5 apple applee apple appe apple bpple applee bpple apple apple
输出 #1
similar similar similar not similar similar
对全部的测试数据,保证 1≤T≤100,A 和 B 的长度不超过 50,仅含小写字母。
【题目大意】
给定T组输入,每组输入有两个单词,判断两个单词能否通过增加、删除或者修改一个字符变得相同,如果可以就是相似。
【考纲知识点】
输入输出语句、循环语句、函数定义及调用、基本运算
【解题思路】
根据题目要求定义需要的变量,并实现输入
输入T行,每行两个字符串,表示两个单词。
判断两个单词是否相似。
如果两个的单词的长度差超过1,就不相似。
当两个单词的长度相同时:如果不同的字母个数大于1个,肯定不相似;如果不同的字母个数等于1个,就可以通过一次操作变成一样
当两个单词长度差为1时:寻找两者不同的字符,如果有多个不同的字符,则不相似;如果只有一个,则相似。比对时,在较长的单词中找到这个字母,跳过该字母后继续比对即可。
调用函数,输出答案。
【参考程序】
本站题目仅供学习,GESP版权归CCF所有,如有侵权请联系删除。站长陈老师QQ及微信:208234。