社区讨论

库里吃掉了乃龙尸块吐出了秦始皇后攻占柏林

P1036[NOIP 2002 普及组] 选数参与者 5已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@mlkxt8s2
此快照首次捕获于
2026/02/13 21:42
4 周前
此快照最后确认于
2026/02/14 14:24
3 周前
查看原帖
14pts 求条
CPP
#include<bits/stdc++.h>
#define int long long
#define pii pair<int,int>
using namespace std;
int a[25],n,k,s=0;
bool f[100000010];
void init(int q){
    memset(f,0,sizeof f);
    f[0]=f[1]=1;
    q=max(q,100000009ll);
    for(int i=2;i*i<=q;i++){
        if(!f[i]){
            for(int j=i*i;j<=q;j+=i)  f[j]=1;
        }
    }
    return;
}
void dfs(int sum,int id,int op){
    if(op>n)  return;
    if(id==k){
        if(!f[sum])  s++;
        return;
    }
    if(n-op+1<k-id) return;
    dfs(sum+a[op],id+1,op+1);
    dfs(sum,id,op+1);
    return;
}
signed main(){
    cin>>n>>k;
    int maxn=0;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        maxn+=a[i];
    }  
    init(maxn+2);
    dfs(0,0,1);
    cout<<s;
    return 0;
}

回复

6 条回复,欢迎继续交流。

正在加载回复...