比赛 |
暑假培训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.