各位dalao们和蒟蒻们,帮忙改一下90分(当前分数45)
#include<bits/stdc++.h>
using namespace std;
int n,m,a[105],vis[105],ans;
void dfs(int sum,int s){
if(sum==m) ans++;
else{
for(int i=s;i<=n;i++){
if(vis[i]==0){
vis[i]=1;
dfs(sum+a[i],i+1);
vis[i]=0;
}
}
}
}
int main() {
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>a[i];
dfs(0,1);cout<<ans;
return 0;
}