2012长春网络赛赛后【缺D】
DP什么的最坑最烦了#include<set>#include<iostream>using namespace std;long t,n,a[20],sum,x,y,z;set<long>s;void dfs(int i){ if(i==n) { if(x&&x<=y&&x<=z&&y<=z&&x+y>z) s.insert(x<<16|y); return; } x+=a[i];dfs(i+1);x-=a[i]; y+=a[i];dfs(i+1);y-=a[i]; z+=a[i];dfs(i+1);z-=a[i];}int main(){ for(cin>>t;t;t--) { cin>>n;sum=x=y=z=0;s.clear(); for(int i=0;i<n;i++) cin>>a[i],sum+=a[i]; dfs(0); cout<<s.size()<<endl; } return 0;}