解题思路:
注意事项:参考了c的写法用了好久
参考代码:
l=list(input().split())
l1=l[0]+l[0]
l2=l[1]+l[1]#之前都不会这个,原来可以这样搞
la=len(l[0])
lb=len(l[1])
ans=0
mn=min(la,lb)
for i in range(la):
for j in range(lb):
x=i
y=j
le=1#这里要注意,++里面直接用x++y++直接等于零,这里用的多个条件下面,所以
while l1[x]==l2[y] and l1[x+1]==l2[y+1] and le<mn:
le+=1
x+=1#这里也是要自己+1才能自己往前
y+=1
if le>ans:#之前还以为计数的位置错了其实没有,最重要的其实就是上面这块
ans=le
print(ans)
'''
题目 2872: 字符环
时间限制: 3s 内存限制: 192MB 提交: 34 解决: 17
题目描述
有两个由字符构成的环。请写一个程序,计算这两个字符环上最长连续公共字符串的长度。例如,字符串“ABCEFAGADEGKABUVKLM”的首尾连在一起,构成一个环;字符串“MADJKLUVKL”的首尾连在一起,构成一个另一个环;“UVKLMA”是这两个环的一个连续公共字符串。
输入格式
一行,包含两个字符串,分别对应一个字符环。这两个字符串之间用单个空格分开。字符串长度不超过255,且不包含空格等空白符。
输出格式
输出一个整数,表示这两个字符环上最长公共字符串的长度。
样例输入复制
ABCEFAGADEGKABUVKLM MADJKLUVKL
样例输出复制
6
'''
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复