记录编号 256433 评测结果 AAAAAAAAAA
题目名称 [NOIP 2002]选数 最终得分 100
用户昵称 Gravatardateri 是否通过 通过
代码语言 C++ 运行时间 0.453 s
提交时间 2016-04-30 11:54:16 内存使用 0.75 MiB
显示代码纯文本
  1. #include<stdio.h>
  2. #include<math.h>
  3. int a[100]={0},i,n,k,sum=0,ans=0;
  4. bool prime(int x)
  5. {
  6. int i;
  7. for(i=2;i<=sqrt(x+0.5);i++)
  8. if(x%i==0)
  9. return false;
  10. return true;
  11. }
  12. void dfs(int deep,int i)
  13. {
  14. if(deep!=k)
  15. for(;i<=n-(k-deep-1);i++)
  16. {
  17. sum+=a[i];
  18. dfs(deep+1,i+1);
  19. sum-=a[i];
  20. }
  21. else if(prime(sum)==true)
  22. ans++;
  23. }
  24. int cc()
  25. {
  26. freopen("choose.in","r",stdin);
  27. freopen("choose.out","w",stdout);
  28. scanf("%d%d",&n,&k);
  29. for(i=1;i<=n;i++)
  30. scanf("%d",&a[i]);
  31. dfs(0,1);
  32. printf("%d\n",ans);
  33. return 0;
  34. }
  35. int ccc=cc();
  36. int main(){;
  37. }