求助
查看原帖
求助
672757
封禁用户楼主2024/7/8 16:00
#include <iostream>
using namespace std;

int n, l, r, s;
int vis[45], w[45];

void dd(int t) {
    if (t >= l && t <= r) {
        s++;
    }
    if (t > r) {
        return;
    }
    for (int i = 1; i <= n; i++) {
        if (!vis[i]) {
            vis[i] = 1;
            dd(t + w[i]);
            vis[i] = 0;
        }
    }
}

int main() {
    cin >> n >> l >> r;
    for (int i = 1; i <= n; i++) {
        cin >> w[i];
    }
    dd(0);
    cout << s;
    return 0;
}

2024/7/8 16:00
加载中...