当前位置: 首页 > news >正文

CCF-GESP 2024 四级T1相似字符串

题目描述

       对于两个字符串A和B,如果A可以通过删除一个字符,或插入一个字符,或修改一个字符变成B,那么我们说A和B是相似的。
       比如 apple 可以通过插入一个字符变成 applee ,可以通过删除一个字符变成 appe ,也可以通过修改一个字符
变成 bpple ,因此 apple 和 applee 、 appe 、 bpple 都是相似的。但 applee 并不能通过任意一个操作变成bpple ,因此它们并不相似。
       特别地,完全相同的两个字符串也是相似的。
       给定T组A,B,请你分别判断他们是否相似。

输入

       第一行一个正整数T。
       接下来T行,每行两个用空格隔开的字符串A和B。
       保证T<=100,A,B的长度不超过50。保证A和B只包含小写字母。

输出

       输出T行,对于每组A,B,如果它们相似,则输出 similar ,否则输出 not similar 。

样例输入 
5
apple applee
apple appe
apple bpple
applee bpple
apple apple
样例输出 
similar
similar
similar
not similar
similar
代码
#include <bits/stdc++.h>
using namespace std;
int T;
string s,s1,s2;
bool pd()
{int len1=s1.size();int len2=s2.size();if (abs(len1-len2)>1){return false;} if (len1==len2) {int num=0;for (int i=0;i<len1;i++) {if(s1[i]!=s2[i]) {num++;if(num>1){return false;}}}return num<=1;} else{if(len1>len2){swap(s1,s2);swap(len1,len2);}int i=0,j=0,num=0;while(i<len1&&j<len2){if(s1[i]!=s2[j]){num++;if(num>1){return false;}j++;}else{i++;j++;}}}return true; 
}
int main()
{cin>>T;while(T--){cin>>s1>>s2;if(pd()==true){cout<<"similar"<<endl;}else{cout<<"not similar"<<endl;}}return 0;
} 
运行

相关文章:

  • 多输入多输出非线性对象的模型预测控制—Matlab实现
  • K8s:Pod初识
  • aws emr启动standalone的flink集群
  • 使用 Apache Commons Exec 管理外部进程
  • 【计算机网络】——概述(图文并茂)
  • oracle中的INTERVAL函数学习总结
  • 50etf期权上市时间是什么时候?50etf期权对应的标的
  • 2022年全国职业院校技能大赛高职组“信息安全管理与评估”赛项第三阶段任务书
  • GolangFoundation
  • CSS学习笔记目录
  • 安装Lubuntu24.04
  • C# list集合
  • 卷积神经网络-奥特曼识别
  • # 详解 JS 中的事件循环、宏/微任务、Primise对象、定时器函数,以及其在工作中的应用和注意事项
  • Swoole 协程调度机制
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • CSS3 变换
  • Date型的使用
  • oschina
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • WePY 在小程序性能调优上做出的探究
  • 关于extract.autodesk.io的一些说明
  • 时间复杂度与空间复杂度分析
  • 一些css基础学习笔记
  • 原生 js 实现移动端 Touch 滑动反弹
  • 浅谈sql中的in与not in,exists与not exists的区别
  • ​卜东波研究员:高观点下的少儿计算思维
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • #Z2294. 打印树的直径
  • (55)MOS管专题--->(10)MOS管的封装
  • (7)STL算法之交换赋值
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (算法设计与分析)第一章算法概述-习题
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (一)为什么要选择C++
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • (转)为C# Windows服务添加安装程序
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .net CHARTING图表控件下载地址
  • .net 调用海康SDK以及常见的坑解释
  • .net 反编译_.net反编译的相关问题
  • .net解析传过来的xml_DOM4J解析XML文件
  • @GetMapping和@RequestMapping的区别
  • @Pointcut 使用
  • @SpringBootApplication 包含的三个注解及其含义
  • [acwing周赛复盘] 第 69 场周赛20220917
  • [Android学习笔记]ScrollView的使用
  • [ArcPy百科]第三节: Geometry信息中的空间参考解析
  • [C#]获取指定文件夹下的所有文件名(递归)
  • [C++]打开新世界的大门之C++入门
  • [C++]运行时,如何确保一个对象是只读的