init
This commit is contained in:
commit
851751ea87
82 changed files with 2093 additions and 0 deletions
21
5B.py
Normal file
21
5B.py
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
import sys
|
||||
|
||||
data = sys.stdin.read().split()
|
||||
s, t = data[0], data[1]
|
||||
m = len(t)
|
||||
st = t + "#" + s
|
||||
n = len(st)
|
||||
z = [0] * n
|
||||
l, r = 0, 0
|
||||
ans = []
|
||||
for i in range(1, n):
|
||||
if i <= r:
|
||||
z[i] = min(r - i + 1, z[i - l])
|
||||
while i + z[i] < n and st[z[i]] == st[i + z[i]]:
|
||||
z[i] += 1
|
||||
if i + z[i] - 1 > r:
|
||||
l = i
|
||||
r = i + z[i] - 1
|
||||
if z[i] == m:
|
||||
ans.append(i - m - 1)
|
||||
print(*ans)
|
||||
Loading…
Add table
Add a link
Reference in a new issue