#include <iostream> #include<map> using namespace std; map<int,int> m; int ans=0; int yp[]={8,8,8,8,8,10,10,10,10,18,18,18,18,18,18}; void dfs(int i,int sum){ if(i==15) {if(m.find(sum)==m.end()) ans++;m[sum]++;} else{ dfs(i+1,sum+yp[i]); dfs(i+1,sum); } } int main() { dfs(0,0); cout<<ans-1;//-1是因为会包含一张邮票都不要的一种情况 } // 64 位输出请用 printf("%lld")