求助!全wa且说我输出都是0,可是下载数据后发现输出明明是对的
查看原帖
求助!全wa且说我输出都是0,可是下载数据后发现输出明明是对的
1491687
heyongheng_20242782楼主2024/11/19 15:52

求助!全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

2024/11/19 15:52
加载中...