记录编号 |
41346 |
评测结果 |
AAAAAA |
题目名称 |
返回住所 |
最终得分 |
100 |
用户昵称 |
RT |
是否通过 |
通过 |
代码语言 |
Pascal |
运行时间 |
0.001 s |
提交时间 |
2012-07-22 11:43:26 |
内存使用 |
0.17 MiB |
显示代码纯文本
const
s:array[1..4,1..2]of integer=((0,-1),(-1,0),(0,1),(1,0));
var
r,c,k,i,j,t:integer;
a:array[1..5,1..5]of char;
b:array[0..6,0..6]of boolean;
procedure can(y,x,l:integer);
var
i,j:integer;
begin
b[y,x]:=false;
if (x=c)and(y=1)and(l<=k) then begin t:=t+1;b[y,x]:=true;exit;end;
if (l>=k)and((x<>c)or(y<>1)) then begin b[y,x]:=true;exit;end;
for i:=1 to 4 do
if b[y+s[i,1],x+s[i,2]] then can(y+s[i,1],x+s[i,2],l+1);
b[y,x]:=true;
end;
begin
assign(input,'backbarn.in');
assign(output,'backbarn.out');
reset(input);
rewrite(output);
readln(r,c,k);
for i:=1 to r do
begin
for j:=1 to c do
begin
read(a[i,j]);
if a[i,j]='.' then b[i,j]:=true;
end;
readln;
end;
can(r,1,1);
write(t);
close(input);
close(output);
end.