动态规划 很简单 def soul(nums,a): if a<nums[0]: return -1 l=len(nums) rec=[-1]*(a+1) rec[0]=0 for i in range(1,a+1): temp1=-1 rec[i] = float("inf") for j in range(l): if i-nums[j]>=0: if rec[i - nums[j]] == -1: temp1 = -1 else: temp1=rec[i-nums[j]]+1 rec[i]=min(rec[i],temp1) if rec[i] ==float("inf"): rec[i]=-1 return rec[a] n,a=map(int ,input().split()) nums=list(map(int ,input().split())) nums.sort() res=soul(nums,a) print(res)
左神带我飞之09[编程题]换钱的最少货币数
最新推荐文章于 2021-08-23 17:44:31 发布