比赛 暑假培训B班二测 评测结果 AAAAAA
题目名称 返回住所 最终得分 100
用户昵称 digital-T 运行时间 0.001 s
代码语言 Pascal 内存使用 0.17 MiB
提交时间 2012-07-22 10:23:23
显示代码纯文本
var
r,c,i,j,k,ans:longint;
f:array[1..5,1..5]of char;
e:array[0..6,0..6]of boolean;
procedure gome(a,b,step:longint);
begin
e[a,b]:=false;
if step<k then
begin
if e[a+1,b] then
 if (a+1=r)and(b=c)then inc(ans)
                   else gome(a+1,b,step+1);
if e[a-1,b] then
 if (a-1=r)and(b=c)then inc(ans)
                   else gome(a-1,b,step+1);
if e[a,b-1] then
 if (a=r)and(b-1=c)then inc(ans)
                   else gome(a,b-1,step+1);
if e[a,b+1] then
 if (a=r)and(b+1=c)then inc(ans)
                   else gome(a,b+1,step+1);
end;
e[a,b]:=true;
end;

begin
assign(input,'backbarn.in');reset(input);
assign(output,'backbarn.out');rewrite(output);
fillchar(e,sizeof(e),true);
ans:=0;
read(r,c,k);
for i:=r downto 1 do
 begin
  readln;
  for j:=1 to c do
   begin
    read(f[i,j]);
    if f[i,j]='T'then e[i,j]:=false;
   end;
 end;
for i:=1 to r do e[i,0]:=false;
for j:=1 to c do e[0,j]:=false;
for i:=1 to r do e[i,c+1]:=false;
for j:=1 to c do e[r+1,j]:=false;
gome(1,1,0);

write(ans);

close(input);
close(output);
end.