问题描述
给定N个整数,要求选出K个数,使得选出的K个数和为SUM
#include <iostream>
using namespace std;
int a[105];
int n,k,sum;
int count;
void dfs(int w,int g,int s){
if(w==n){ //证明已经到达最后一个
if(g==k && s==sum){
count++;
}
return;
}
dfs(w+1,g,s);
dfs(w+1,g+1,s+a[w]);
}
int main(){
cin>>n>>k>>sum;
for(int i=0;i<n;i++){
cin>>a[i];
}
dfs(0,0,0);
cout<<count;
return 0;
}