比赛 20120707 评测结果 RRTTTTTTTT
题目名称 奇怪的棋盘 最终得分 0
用户昵称 czp 运行时间 16.022 s
代码语言 Pascal 内存使用 0.17 MiB
提交时间 2012-07-07 11:47:04
显示代码纯文本
  1. type aaa=array[1..20] of boolean;
  2. var
  3. i,j,m,n,k,ans:longint;
  4. o0:aaa;
  5. h:array[1..500] of longint;
  6. procedure dfs(v,s:longint;o:aaa);
  7. var i:longint; o1:aaa;
  8. begin
  9. if s=k then begin inc(ans); exit;end;
  10. if v>n then exit;
  11. fillchar(o1,sizeof(o1),0);
  12. for i:=1 to h[v] do o1[i]:=o[i];
  13. dfs(v+1,s,o1);
  14. for i:=1 to h[v] do
  15. begin
  16. if not o1[i] then
  17. begin
  18. o1[i]:=true;
  19. dfs(v+1,s+1,o1);
  20. o1[i]:=false;
  21. end;
  22. end;
  23. end;
  24. begin
  25. assign(input,'boarda.in');reset(input);
  26. assign(output,'boarda.txt');rewrite(output);
  27. readln(n,k);
  28. for i:=1 to n do read(h[i]);
  29. readln;
  30. dfs(1,0,o0);
  31. writeln(ans);
  32. close(input);close(output);
  33. end.
  34.