全wa求助
查看原帖
全wa求助
781315
Dense7fog楼主2023/2/26 19:36

#include <iostream>
using namespace std;
int n, l, r, ans;
int w[50];
bool a[50];

void dfs(int step, int sum) {
	if (step > n) {
		if (sum >= l && sum <= r) {
			ans++;
			return ;
		}
	}
	if (sum > r)
		return;

	for (int i = step; i <= n; i++) {
		if (a[i] == 0) {
			a[i] = 1;
			sum += w[i];
			dfs(i + 1, sum);
			a[i] = 0;
			sum -= w[i];
		}
	}
}

int main() {
	cin >> n >> l >> r;
	for (int i = 1; i <= n; i++) {
		cin >> w[i];
	}
	dfs(1, 0);
	cout << ans;
	return 0;
}
2023/2/26 19:36
加载中...