解题思路:
注意事项:参考了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语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:345 |
【魔板】 (C++代码)(时间超限,希望会的帮我改正一下)浏览:750 |
WU-C语言程序设计教程(第三版)课后习题12.1 (C++代码)浏览:949 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:919 |
【求[X,Y]内被除3余1并且被除5余3的整数的和】 (C语言代码)浏览:693 |
完数 (C语言代码)浏览:712 |
C语言训练-亲密数 (C语言代码)浏览:684 |
字符逆序 (C语言代码)浏览:624 |
2004年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:609 |
剪刀石头布 (C++代码)浏览:1730 |