社区讨论
库里吃掉了乃龙尸块吐出了秦始皇后攻占柏林
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 条回复,欢迎继续交流。
正在加载回复...