求助大佬!

B3624 猫粮规划

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];//
    }
}

|