dfs求助!
查看原帖
dfs求助!
422110
HgSO4_QwQ楼主2021/5/6 12:46
#include<iostream>
#include<vector>
#include<cmath>
using namespace std;

int n,m,ans=0;
vector<int> s;
int a[10000];

int prime(int a)
{
    for(int i=2;i<=sqrt(a);i++)
    {
        
        if(a%i==0)
        {
            return 0;
        }
        
    }
    return 1;
}

int dfs(int pos,int cnt)
{
    if(cnt==m)
    {
        int a=0;
        
        for(int i=0;i<m;i++)
        {
            ans+=s[i];
        }
        
        if(prime(a))
        {
            ans++;
        }
        
        return 0;
    }
    if(pos<n)
    {
        s.push_back(a[pos]);
        dfs(pos+1,cnt+1);
        
        s.pop_back();
        dfs(pos+1,cnt);
    }
}

int main()
{
    cin>>n>>m;
    
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
    }
    
    dfs(0,0);
    cout<<ans;
    return 0;
}
2021/5/6 12:46
加载中...