标签:空格 正整数 nbsp ring string 包含 namespace == 输入
5 5 1 2 3 4 5
3
1 #include<iostream> 2 #include<cstring> 3 using namespace std; 4 int a[25]; 5 int n, t; 6 int divide(int step, int left){ 7 if(step==n&&left!=0) return 0; 8 if(left == 0) return 1; 9 return divide(step+1, left-a[step])+divide(step+1, left); 10 } 11 int main(){ 12 cin>>n>>t; 13 int i; 14 for(i = 0 ; i < n; i++) 15 cin>>a[i]; 16 int ans = divide(0, t); 17 cout<<ans<<endl; 18 return 0; 19 }
备注:看一眼数据范围,全部枚举的话2^20也就是一百多万,完全可以,所以就直接递归就行了。
总方案数目= 包含第一个数的方案数+不包含第一个数的方案数,每次这么划分就行。
标签:空格 正整数 nbsp ring string 包含 namespace == 输入
原文地址:https://www.cnblogs.com/fangziyuan/p/13098498.html