记录编号 |
256433 |
评测结果 |
AAAAAAAAAA |
题目名称 |
[NOIP 2002]选数 |
最终得分 |
100 |
用户昵称 |
dateri |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.453 s |
提交时间 |
2016-04-30 11:54:16 |
内存使用 |
0.75 MiB |
显示代码纯文本
#include<stdio.h>
#include<math.h>
int a[100]={0},i,n,k,sum=0,ans=0;
bool prime(int x)
{
int i;
for(i=2;i<=sqrt(x+0.5);i++)
if(x%i==0)
return false;
return true;
}
void dfs(int deep,int i)
{
if(deep!=k)
for(;i<=n-(k-deep-1);i++)
{
sum+=a[i];
dfs(deep+1,i+1);
sum-=a[i];
}
else if(prime(sum)==true)
ans++;
}
int cc()
{
freopen("choose.in","r",stdin);
freopen("choose.out","w",stdout);
scanf("%d%d",&n,&k);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
dfs(0,1);
printf("%d\n",ans);
return 0;
}
int ccc=cc();
int main(){;
}