比赛 |
暑假培训B班二测 |
评测结果 |
AAAAAA |
题目名称 |
返回住所 |
最终得分 |
100 |
用户昵称 |
o_o |
运行时间 |
0.001 s |
代码语言 |
Pascal |
内存使用 |
0.17 MiB |
提交时间 |
2012-07-22 11:06:15 |
显示代码纯文本
var
a,b,c,d,m,n,f,r,t,w,v:longint;
l:array[0..10,0..10]of longint;
k:array[0..10,0..10]of char;
lx,ly:array[1..8]of longint;
zx,zy:array[0..1000]of longint;
procedure dfs(x,y,o,fx:longint);
var
z,i,j:longint;
begin
if o<=n then
begin
if (x=r)and(y=1) then
d:=d+1
else
for i:=1 to 4 do
if fx<>i then
if l[x+lx[i],y+ly[i]]=0 then
if (x+lx[i]<r+1)and(x+lx[i]>0)and(y+ly[i]>0)and(y+ly[i]<f+1) then
if k[x+lx[i],y+ly[i]]<>'T' then
begin
l[x+lx[i],y+ly[i]]:=1;
if i=1 then
dfs(x+lx[i],y+ly[i],o+1,2);
if i=2 then
dfs(x+lx[i],y+ly[i],o+1,1);
if i=3 then
dfs(x+lx[i],y+ly[i],o+1,4);
if i=4 then
dfs(x+lx[i],y+ly[i],o+1,3);
l[x+lx[i],y+ly[i]]:=0;
end;
end;
end;
begin
assign(input,'backbarn.in');
assign(output,'backbarn.out');
reset(input);
rewrite(output);
lx[1]:=1;
lx[2]:=-1;
lx[3]:=0;
lx[4]:=0;
ly[1]:=0;
ly[2]:=0;
ly[3]:=-1;
ly[4]:=1;
read(f,r,n);
for a:=1 to f do
begin
readln;
for b:=1 to r do
read(k[b,a]);
end;
l[1,f]:=1;
dfs(1,f,0,0);
write(d);
close(input);
close(output);
end.