题目链接
#include<bits/stdc++.h>
using namespace std;
int num,n,m,a[105],f[10500];
void dfs(int x,int y){
if((x>n)||(y>m)) return;
if(y+a[x]==m) num++;
dfs(x+1,y);
dfs(x+1,y+a[x]);
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>a[i];
dfs(1,0);
cout<<num<<endl;
return 0;
}
总结
无