比赛 20101116 评测结果 WWWWWWWWWW
题目名称 打砖块 最终得分 0
用户昵称 王者自由 运行时间 0.000 s
代码语言 Pascal 内存使用 0.00 MiB
提交时间 2010-11-16 09:55:06
显示代码纯文本
program gamea;
var n,m,k,i,j:integer;
  F:array[0..200,0..200]of integer;
  B:array[0..200,0..200]of 0..1;
  c:char; w:longint;
function Take(var k:integer;j:integer):longint;
var i:integer; y:longint;
begin
  k:=k-1+B[1,j];
  y:=F[1,j];
  F[0,j]-=1;
  for i:=1 to F[0,j] do
  begin
    F[i,j]:=F[i+1,j];
    B[i,j]:=B[i+1,j];
  end;
  F[F[0,j]+1,j]:=0;
  exit(y);
end;
procedure Find(k:integer);
var i,j:integer; max:longint;
begin
  if k=0 then exit;
  max:=0;
  for i:=1 to m do {没有处理Y的情况}
    if F[1,i]>max
      then begin j:=i; max:=F[1,i]; end;
  w+=Take(k,j);
  Find(k);
end;
begin
  assign(input,'gamea.in'); reset(input);
  assign(output,'gamea.out'); rewrite(output);
  readln(n,m,k);
  for i:=1 to n do
    for j:=1 to m do
    begin
      read(F[n-i+1,j]);
      read(c); read(c);
      if c='Y' then B[n-i+1,j]:=1 else B[n-i+1,j]:=0;
    end;
  for i:=1 to m do F[0,i]:=n;
  Find(k);
  writeln(w);
  close(input); close(output);
end.