神奇的口袋的递归解法

#include<iostream>
using namespace std;
int a[30];int N;
int ways(int w,int k){//从前K种物品 选择一些,凑成 体积w的做法数目 
if(w==0)return 1;
if(k<=0)return 0;
return ways(w,k-1)+ways(w-a[k],k-1);

}
int main()
{cin>>N;
for(int i=1;i<=N;i++)
cin>>a[i];
cout<<ways(40,N);
return 0;    
}

猜你喜欢

转载自blog.csdn.net/qq_41479464/article/details/82735178
今日推荐