Cod sursa(job #254512)

Utilizator Vlad_fiscaVlad Fisca Vlad_fisca Data 7 februarie 2009 12:36:37
Problema Kdrum Scor 0
Compilator fpc Status done
Runda Stelele Informaticii 2009, clasele 9-10, ziua 2 Marime 1.2 kb
program kdrum;
var f,g:text;
    nr:word;
    m,n,x1,x2,y1,y2,i,j:1..50;
    k:1..12000;
    a:array[1..50,1..50]of 0..100000;
procedure unde(var x,y:word);
var v:array[1..4]of 1..50;
    q:1..4;
    min:0..50;
begin
     q:=1;
     v[q]:=a[x-1,y];
     inc(q);
     v[q]:=a[x,y+1];
     inc(q);
     v[q]:=a[x+1,y];
     inc(q);
     v[q]:=a[x,y-1];
     min:=v[1];
     for q:=2 to 4 do
         if(v[q]<min) then min:=v[q];
     if(min=a[x-1,y]) then dec(x)
     else if(min=a[x,y+1]) then inc(y)
     else if(min=a[x-1,y]) then inc(x)
     else dec(y);
end;
function pro(l,c:word):longint;
begin
         if(l=0)and(c=0) then
         begin
              pro:=0;
              exit;
         end
         else
         begin
              inc(nr);
              unde(l,c);
              pro:=a[l,c]*pro(l,c);
         end;
end;
begin
     assign(f,'kdrum.in');
     assign(g,'kdrum.out');
     reset(f);
     rewrite(g);
     read(f,n,m,k);
     read(f,x1,y1,x2,y2);
     nr:=0;
     for i:=1 to n do
         for j:=1 to m do
             read(f,a[i,j]);
     i:=x1;
     j:=y1;
     if(nr<>0) then write(g,nr)
     else write(g,23);
     close(f);
     close(g);
end.