40分求调
查看原帖
40分求调
1251100
ChasonWang楼主2024/9/16 16:45

rt

#include<bits/stdc++.h>
using namespace std;
int m,a[10005],x[5];
int n;
bool flag=0;
void dfs(int p){
	if(p==n){
		if(x[1]==x[2]&&x[1]==x[3]&&x[1]==x[4]){
			flag=1;
		}
		return;
	}
	if(flag)return;
	for(int i=1;i<=4;i++){
		if(flag){
			return;
		}
		x[i]+=a[p];
		dfs(p+1);
	}
}
int main(){
	cin>>m;
	for(int i=1;i<=m;i++){
		cin>>n;
		flag=0;
		int sum=0;
		for(int i=1;i<=n;i++){
			cin>>a[i];
			sum+=a[i];
		}
		if(n<4||sum%4!=0) cout<<"no\n";
		else {
			dfs(1);
			if(!flag){
				cout<<"no\n";
			}else cout<<"yes\n";
		}
	}
}
2024/9/16 16:45
加载中...