记录编号 752 评测结果 AAAAA
题目名称 [NOIP 2002]选数 最终得分 100
用户昵称 Gravatarmaxiem 是否通过 通过
代码语言 Pascal 运行时间 0.001 s
提交时间 2008-07-22 09:30:09 内存使用 0.11 MiB
显示代码纯文本
  1. program choose;
  2. var
  3. i,sum,n,k:integer;
  4. a:array [1..20] of longint;
  5. function judge(n:longint):boolean;
  6. var i:longint;
  7. begin
  8. judge:=true;
  9. for i:=2 to trunc(sqrt(n)) do if n mod i=0 then judge:=false;
  10. end;
  11. procedure go(no,k:integer;s:longint);
  12. var i:integer;
  13. begin
  14. if no<=n+1 then
  15. if (k=0) then begin
  16. if (judge(s)) and (s<>0) then inc(sum)
  17. end
  18. else for i:=1 downto 0 do go(no+1,k-i,s+i*a[no]);
  19. end;
  20. begin
  21. assign (input,'choose.in');
  22. reset (input);
  23. readln (n,k);
  24. for i:=1 to n do read(a[i]);
  25. close (input);
  26. assign (output,'choose.out');
  27. rewrite (output);
  28. sum:=0;
  29. go (1,k,0);
  30. writeln (sum);
  31. close (output);
  32. end.