s=input()
m=len(s)
s2=input()
n=len(s2)
так в чем в основном разница между res=[[0 for x in range(n + 1)] for x in range(m + 1)]
и res=[[0]*(n+1)]*(m+1)
, когда оба создают матрицу (m + 1) X (n + 1), но res=[[0 for x in range(n + 1)] for x in range(m + 1)]
дает правый ответ, а res=[[0]*(n+1)]*(m+1)
не
for i in range(m+1):
for j in range(n+1):
if i==0:
res[i][j]=j
if j==0:
res[i][j]=i
if s[i-1]==s2[j-1]:
res[i][j]=res[i-1][j-1]
else:
res[i][j]=min(res[i-1][j],res[i][j-1],res[i-1][j-1])+1
print(res[m][n])