100分求条
查看原帖
100分求条
380639
dthythxth_Huge_Brain楼主2024/5/26 21:19
#include<bits/stdc++.h>
#define int long long
int t,n,a[22],sum,pd;
void dfs(int s,int tm,int stt){
//	std::cout<<s<<' '<<stt<<'\n';
	if(tm==5&&stt==n)pd=1;
	if(pd)return;
	for(int i=stt+1;i<=n;i++){
		int	S=s+a[i];
		if(S==sum/4)dfs(0,tm+1,i);
		else if(S>sum/4)continue;
		else dfs(S,tm,i); 
	}
}
signed main(){
	scanf("%lld",&t);
	for(;t--;){
		scanf("%lld",&n),sum=pd=0;
		for(int i=1;i<=n;i++)scanf("%lld",a+i),sum+=a[i];
		if(sum%4){
//			while(printf("114514"));
			puts("no");
			continue;
		}
		dfs(0,1,0);
		if(pd)puts("yes");
		else puts("no");
	}
	return 0;
}

2024/5/26 21:19
加载中...