解题思路:

注意事项:参考了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分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论