求教二进制枚举,45分
查看原帖
求教二进制枚举,45分
246331
mystic_qwq楼主2023/9/4 11:58
n,m,a[100],ans;long long res;
main(){
  scanf("%d%d",&n,&m);
  for(int i=0;i<n;++i)
    scanf("%d",a+i);
  for(int i=0,j=0,k=0;i<(1<<n)-1;i++,j=i,k=0,res=0){
    while(j){
      if(j&1)res+=a[k];
      if(res>m)break;
      j>>=1,++k;
    }
    if(res==m)++ans;
  }
  printf("%d",ans);
}

2023/9/4 11:58
加载中...