思路:滑块移动法。滑块长度初始为短串的长度,之后滑块长度单位递减。
①找到的第一个公共子串则为最长子串;②若无公共子串则输出0
s1 = input()
s2 = input()
if len(s1) > len(s2): # 始终将短串赋给s1
    s1, s2 = s2, s1
k = len(s1) # 滑块长度初始为短串的长度
l = []
while k > 0:
    for i in range(len(s1) - k + 1):
        if s1[i:i+k] in s2: # 若找到最长公共子串,将其添加到列表l,并立即结束for循环
            l.append(s1[i:i+k])
            break
    if len(l): # 若l非空则返回元素长度,并结束while循环
        print(len(l[0]))
        break
    k -= 1 # 滑块长度单位递减
else: # 最终没有公共子串输出0
    print(0)