1140 dl帮忙看看哪错了 感觉挺对的
查看原帖
1140 dl帮忙看看哪错了 感觉挺对的
715748
CwanFeng1楼主2022/5/2 15:29
a1={"AA":5,"AC":-1,"AG":-2,"AT":-1,"A-":-3,
    "CA":-1,"CC":5,"CG":-3,"CT":-2,"c-":-4,
    "GA":-2,"GC":-3,"GG":5,"GT":-2,"G-":-2,
    "TA":-1,"TC":-2,"TG":-2,"TT":5,"T-":-1,
    "-A":-3,"-C":-4,"-G":-2,"-T":-1,"--":0}
a,b = [int(x) if x.isnumeric() else x for x in input().split()]
c,d = [int(x) if x.isnumeric() else x for x in input().split()]
b,d=list(b),list(d)
f=[[0]*(c+1) for _ in range (a+1)]
f[0][0]=0
for i in range(1,c+1):
    f[0][i]=a1[d[i-1]+'-']
for j in range (1,a+1):
    f[j][0]=a1[b[j-1]+'-']
for i in range(1,a+1):
    for j in range(1,c+1):
        f[i][j]=max(f[i-1][j-1]+a1[b[i-1]+d[j-1]],f[i-1][j]+a1[b[i-1]+'-'],f[i][j-1]+a1[d[j-1]+'-'])
print(f[a][c])
2022/5/2 15:29
加载中...