题目链接
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/2c66124e86e165a7d5de1f6b5ef72c1d.png)
#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;
}
总结
无