wa,2个点,求助!!!
查看原帖
wa,2个点,求助!!!
217887
Tarater楼主2022/1/31 18:09
#include<bits/stdc++.h>
using namespace std;
int m,a[10000],n,s,b[10000],z;
bool f[10000],flag;
void dfs(int x,int y){
    if(flag){
    	return ; 	
	}
    if(x==4&&y==s){
        z++;
        flag=1;
        return ;
    }
    if(y==s){
    	dfs(x+1,0);
	}else{
    	for(int i=1;i<=m;i++){
        	if(!f[i]&&y+a[i]<=s){
             	f[i]=1;  
                dfs(x,y+=a[i]);
            	f[i]=0;
            }
        }
    }
}
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        int c=0;
        cin>>m;
        for(int j=1;j<=m;j++){
            cin>>a[j];
            c+=a[j];
        }
        s=c/4;
        if(c%4!=0){
        	cout<<"no"<<endl;
		}else{
        	dfs(1,0); 
        	if(flag){
        		cout<<"yes"<<endl;
			}else{
				cout<<"no"<<endl;
			}
        }
    }
    return 0;
}
2022/1/31 18:09
加载中...