求助
  • 板块学术版
  • 楼主nightisyoung
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/1/5 21:44
  • 上次更新2024/1/6 09:20:31
查看原帖
求助
705532
nightisyoung楼主2024/1/5 21:44

P3375 KMP 为什么本地能过但是测评全部WA?求大佬解答

s1,s2=input(),input()
l1,l2=len(s1),len(s2)
nxt=[0]*1000001
def border():
    global nxt,s2,l2
    i=0;nxt[0]=j=-1
    while i<l2:
        if j==-1 or s2[i]==s2[j]:
            i+=1;j+=1
            nxt[i]=j
        else:j=nxt[j]
def KMP():
    global s1,s2,l1,l2,nxt
    i=j=0
    while i<l1:
        if j==-1 or s1[i]==s2[j]:
            i+=1;j+=1
        else:j=nxt[j]
        if j==l2:print(i-l2+1);j=nxt[j]
border()
KMP()
for i in range(1,l2+1):
    print(nxt[i],end=' ')
2024/1/5 21:44
加载中...