xxxxyz6667 @ 2024-07-10 16:53:04
#include<bits/stdc++.h>
using namespace std;
int n,l,r;
int a[1000];
int res=0;
void dfs(int stx,int sum)
{
if(sum<=r&&sum>=l)//if(d<n&&sum<=r&&sum>=l)
{
res++;
return;
}
for(int i=stx;i<n;i++)
{
sum+=a[i];
//sum;
dfs(stx+1,sum);
}
}
int main()
{
cin>>n>>l>>r;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
dfs(0,0);
cout<<res;
}
by why0210 @ 2024-07-17 12:23:20
函数部分的错误
void dfs(int stx,int sum)
{
if(sum>r)return;//
if(sum<=r&&sum>=l)
{
res++;
//return;
}
for(int i=stx;i<n;i++)
{
sum+=a[i];
dfs(i+1,sum);//
sum-=a[i];//
}
}