第一行包含一个整数 T ,即案例数。
紧接着是T案例,每个案例三行,第一行两个整数N,V,(N <= 1000,V <= 1000),表示骨骼数量和包的体积。第二行N个整数,表示每个骨骼的值。第三行包含 N 整数,表示每个骨骼的体积。
1 n = int(input()) 2 for _ in range(n): 3 n,V = map(int,input().split()) 4 ls1 = [int(x) for x in input().split()] 5 ls2 = [int(x) for x in input().split()] 6 ans = [0 for x in range(V + 1)] 7 for i in range(n): 8 j = V 9 while j >= ls2[i]: 10 ans[j] = max(ans[j],ans[j - ls2[i]] + ls1[i]) 11 j -= 1 12 print(ans)
没什么好嗦的,dp