n = int(input())
arr = [input() for _ in range(n)]
head = input()
path = [0 for _ in range(n)]
ans = 0
def dfs(i):
if path[i] == 3:
return 0
res = 0
for x in range(len(arr[i]) - 1, -1, -1):
for y in range(n):
temp = arr[i][x:]
l = len(temp)
if temp == arr[y][:l]:
path[y] += 1
res = max(res, (dfs(y) + len(arr[y]) - l if path[y] != 3 else 0))
path[y] -= 1
return res
for i in range(n):
if head == arr[i][0]:
path[i] += 1
ans = max(ans, dfs(i) + len(arr[i]))
path[i] -= 1
print(ans)
在我的python idle上和测试用例一模一样,为什么WA,求救!!!