简简单单
2025-07-13 11:16:40
发布于:广西
0阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
long long n,a[25],cnt = 0;
bool vis[25],flag = false;
void f(long long sum,long long start,long long num)
{
if(flag == true)
{
return;
}
if(sum == 3)
{
cout << "yes" << endl;
flag = true;
return;
}
else
{
for(int i = start; i <= n; i++)
{
if(vis[i] == true)
{
continue;
}
if(num + a[i] > cnt)
{
continue;
}
vis[i] = true;
if(num + a[i] == cnt)
{
f(sum + 1,1,0);
}
else
{
f(sum,i + 1,num + a[i]);
}
vis[i] = false;
}
}
}
int main()
{
long long t;
cin >> t;
for(int i = 1; i <= t; i++)
{
flag = false;
cnt = 0;
cin >> n;
for(int i = 1; i <= n; i++)
{
cin >> a[i];
cnt += a[i];
vis[i] = false;
}
if(cnt % 4 != 0)
{
cout << "no" << endl;
continue;
}
cnt /= 4;
f(0,1,0);
if(flag == false)
{
cout << "no" << endl;
}
}
return 0;
}
这里空空如也
有帮助,赞一个