为什么错了……
#include <bits/stdc++.h>
using namespace std;
int n;
int w[25];
bool flag=false;
void dfs(int step,int sum1,int sum2,int sum3,int sum4)
{
if(step>n)
{
if(sum1==sum2 && sum2==sum3 && sum3==sum4)
flag=true;
return;
}
dfs(step+1,sum1+w[step],sum2,sum3,sum4);
if(flag==true)
return;
dfs(step+1,sum1,sum2+w[step],sum3,sum4);
if(flag==true)
return;
dfs(step+1,sum1,sum2,sum3+w[step],sum4);
if(flag==true)
return;
dfs(step+1,sum1,sum2,sum3,sum4+w[step]);
if(flag==true)
return;
}
void mian()
{
cin>>n;
memset(w,0,sizeof(w));
for(int i=1; i<=n; i++)
cin>>w[i];
dfs(1,0,0,0,0);
if(flag==true)
cout<<"yes"<<endl;
else
cout<<"no"<<endl;
}
int main()
{
int n;
cin>>n;
while(n--)
mian();
return 0;
}