Cod sursa(job #72833)

Utilizator taloibogdanTaloi Bogdan Cristian taloibogdan Data 15 iulie 2007 16:03:24
Problema Secventa 2 Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.04 kb
Program Heroes_of_Might_and_Magic;
Var f:text;
    n,m,k,x,y,x1,y1,s:longint;
    i,j:longint;
    a:array[0..100,0..100] of longint;
function sol(k,xf,yf:longint):longint;
begin
 if k>0 then
   begin
    if ((x=xf) and (y=yf+1) and (a[xf,yf+1]=0)) then sol:=sol(k-1,xf,yf+1);
    if ((x=xf) and (y=yf-1) and (a[xf,yf-1]=0)) then sol:=sol(k-1,xf,yf-1);
    if ((x=xf+1) and (y=yf) and (a[xf+1,yf]=0)) then sol:=sol(k-1,xf+1,yf);
    if ((x=xf-1) and (y=yf) and (a[xf-1,yf]=0)) then sol:=sol(k-1,xf-1,yf);
   end
        else
   if ((x=xf) and (y=yf) and (a[xf,yf]=0)) then sol:=1;
end;
Begin
  assign(f,'homm.in');
  reset(f);
  readln(f,n,m,k);
  for i:=1 to n do
     begin
      for j:=1 to m do
         read(f,a[i,j]);
      readln(f);
     end;
  readln(f,x,y,x1,y1);
  close(f);
  s:=0;
  if ((x=x1) and (y=y1+1)) or ((x=x1) and (y=y1-1)) or ((y=y1) and (x=x1+1)) or ((y=y1) and (x=x1-1)) then s:=1;
  for i:=2 to k do
     s:=s+sol(i-1,x1,y1);
  assign(f,'homm.out');
  rewrite(f);
  Writeln(f,s);
  close(f);
End.