点击打开链接
题意:n门课,第i门难度为c[i],选择至少两门以上,使得总难度在l与r之间,且最高难度与最低难度之差不低于x。求总方案数
注意到n很小,于是想到可以通过状态压缩枚举每种可能。
# -*- coding: utf-8 -*- n,l,r,x=map(int,raw_input().split()) c=map(int,raw_input().split()) ans=0 for i in xrange(1<<n): a=[] for j in xrange(n): if (i>>j)&1 : a.append(c[j]) if len(a)>=2 and max(a)-min(a)>=x and sum(a)>=l and sum(a)<=r : ans+=1 print ans