#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int MAX = 20;
int stuff[MAX];
int sum=0 ; //容量总数
int m; //物品总数
void DFS(int n,int position) //n为当前总和
{
if(n>40)
{
return;
} else if(n==40)
{
sum++;
return;
} else
{
for(int i=position;i<m;i++)
{
DFS(n+ stuff[i],i+1);
}
}
return;
}
int main()
{
cin>>m;
for(int i=0;i<m;i++)
{
cin>>stuff[i];
}
DFS(0,0);
cout<<sum<<endl;
return 0;
}

京公网安备 11010502036488号