比赛 20101116 评测结果 WWWWWWWWWW
题目名称 打砖块 最终得分 0
用户昵称 王者自由 运行时间 0.000 s
代码语言 Pascal 内存使用 0.00 MiB
提交时间 2010-11-16 09:55:06
显示代码纯文本
  1. program gamea;
  2. var n,m,k,i,j:integer;
  3. F:array[0..200,0..200]of integer;
  4. B:array[0..200,0..200]of 0..1;
  5. c:char; w:longint;
  6. function Take(var k:integer;j:integer):longint;
  7. var i:integer; y:longint;
  8. begin
  9. k:=k-1+B[1,j];
  10. y:=F[1,j];
  11. F[0,j]-=1;
  12. for i:=1 to F[0,j] do
  13. begin
  14. F[i,j]:=F[i+1,j];
  15. B[i,j]:=B[i+1,j];
  16. end;
  17. F[F[0,j]+1,j]:=0;
  18. exit(y);
  19. end;
  20. procedure Find(k:integer);
  21. var i,j:integer; max:longint;
  22. begin
  23. if k=0 then exit;
  24. max:=0;
  25. for i:=1 to m do {没有处理Y的情况}
  26. if F[1,i]>max
  27. then begin j:=i; max:=F[1,i]; end;
  28. w+=Take(k,j);
  29. Find(k);
  30. end;
  31. begin
  32. assign(input,'gamea.in'); reset(input);
  33. assign(output,'gamea.out'); rewrite(output);
  34. readln(n,m,k);
  35. for i:=1 to n do
  36. for j:=1 to m do
  37. begin
  38. read(F[n-i+1,j]);
  39. read(c); read(c);
  40. if c='Y' then B[n-i+1,j]:=1 else B[n-i+1,j]:=0;
  41. end;
  42. for i:=1 to m do F[0,i]:=n;
  43. Find(k);
  44. writeln(w);
  45. close(input); close(output);
  46. end.