50分求助
查看原帖
50分求助
648843
wdl_楼主2022/3/15 13:14

rt

#include<bits/stdc++.h>
using namespace std;
int n,a[6],t,js;
bool flag,flag2;
void dfs(int x,int s)
{
    if(x!=0)
        if(a[s]%x==0)
        {
            flag=1;
            return;
        }
    if(a[s]<x)
    {
        flag2=1;
        return;
    }
    for(int i=0;i<n;i++)
    {
        if(s!=i)
        {
            flag2=0;
            dfs(x+a[i],s);
            if(flag)return;
            if(flag2){flag2=0;return;}
        }
    }
}
int main()
{
    cin>>t;
    while(t--)
    {
        cin>>n;
        js=0;
        memset(a,0,sizeof(a));
        for(int i=0;i<n;i++)
            cin>>a[i];
        sort(a,a+n);
        for(int i=0;i<n;i++)
        {
            flag=0;
            dfs(0,i);
            if(flag)js++;
        }
        cout<<n-js<<endl;
    }
}
2022/3/15 13:14
加载中...