0-2^n枚举
判断条件 系统要求的那几个条件
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int a[20];
int main(){
int n,l,r,x;
int sum;
int ans = 0;
scanf("%d%d%d%d",&n,&l,&r,&x);
for(int i=0;i<n;i++) scanf("%d",&a[i]);
for(int i=0;i<(1<<n);i++){
sum=0;
int mn=10000000;
int mx=-1;
int flag =0;
for(int j=0;j<n;j++){
if(i&(1<<j)){
mn = min(a[j],mn);
mx = max(mx,a[j]);
sum+=a[j];
}
}
if(sum>=l&&sum<=r&&mx-mn>=x)
{
ans++;
}
}
printf("%d\n",ans);
}
版权声明:都是兄弟,请随意转载,请注明兄弟是谁
原文地址:http://blog.csdn.net/u013076044/article/details/46973069