求助!全wa且说我输出都是0,可是下载数据后发现输出明明是对的
n=int(input())
a=[]
for i in range(n):
a.append(list(input()))
aa=[0]*n
s=list(input())
# aa.append(s)
maxx=0
def check(x,y):#判断y是否可以链接到x
if x in y or y in x:
return -1
if len(x)>len(y):
for i in range(len(y)-1,-1,-1):
if x[len(x)-len(y)+i:]==y[:len(y)-i]:
return len(y)-i
else:
for i in range(len(x)-1,-1,-1):
if x[i:]==y[:len(x)-i]:
return len(x)-i
return -1
def check2(x,y):#判断y是否是x的前缀
if len(y)>len(x):
return False
if x[:len(y)]==y:
return True
return False
def dfs(x):#x为当前搜索的位置
global maxx,s
maxx=max(maxx,len(s))
# print(s)
for i in range(n):
if aa[i]!=-2:#未搜索完
kkk=check(s,a[i])
if kkk!=-1:
aa[i]-=1
s=s+a[i][kkk:]
# print(s)
dfs(i)
s=s[:len(s)-len(a[i])+kkk]
aa[i]+=1
ss=s.copy()
for i in range(n):
if check2(a[i],ss):
aa[i]-=1
s=a[i]
dfs(i)
aa[i]+=1
print(maxx)
不理解为什么测试结果全是0,自己运行都是对的,是洛谷出bug了吗QAQ
有懂的大佬可以看看吗,谢谢了orz