80分代码求调
查看原帖
80分代码求调
511253
_QrSn_楼主2024/3/22 18:48
#include<bits/stdc++.h>
using namespace std;
int n,m,a[1001],ans=0,use[1001]={0};
bool flag=false;
void dfs(int x,int sum)
{
	if(flag)return;
	if(x>sum)return;
    if(x==sum){x-=sum;ans++;}
	if(ans==4){cout<<"yes\n";flag=true;}
    for(int i=1;i<=m;i++)
    {
        if(use[i]==0)
        {
            use[i]=1;
            dfs(x+a[i],sum);
            use[i]=0;
        }
    }
}
int main(){
    cin>>n;
    while(n--)
    {
        int sum=0;
        ans=0;
        cin>>m;
		flag=false;
        for(int i=1;i<=m;i++)
        {
            cin>>a[i];
            sum+=a[i];
        }
        if(sum%4!=0){cout<<"no\n";continue;}
        sum=sum/4;
        dfs(0,sum);
        if(!flag)cout<<"no\n";
        memset(use,0,sizeof(use));
        memset(a,0,sizeof(a));
    }
    return 0;
}

WA两个点

2024/3/22 18:48
加载中...