Pagini recente » Cod sursa (job #3220922) | Cod sursa (job #41484) | Cod sursa (job #1440373) | Cod sursa (job #2932725) | Cod sursa (job #56336)
Cod sursa(job #56336)
const dl:array[1..4] of integer=(1,-1,0,0);
dc:array[1..4] of integer=(0,-0,1,-1);
type cell=record
l,c:integer;
end;
var v,x,ch,vz:array[0..151,0..151]of integer;
n,m,k,d,i,j,ls,cs,p,nrv,nr,lnou,cnou,ln,cl:integer;
ok:boolean;
c:array[1..23000]of integer;
viz:array[1..23000]of cell;
begin
assign(input,'castel.in');reset(input);
assign(output,'castel.out');rewrite(output);
readln(n,m,p);
k:=1;
for i:=1 to n do
for j:=1 to m do
begin
ch[i,j]:=k;
inc(k);
end;
ls:=(p-1) div n+1;
cs:=p mod m+m*ord(p mod m=0);
nrv:=1;
viz[1].l:=ls;
viz[1].c:=cs;
vz[ls,cs]:=1;
for i:=1 to n do
for j:=1 to m do
read(v[i,j]);
c[p]:=1;
ok:=true;
while ok do
begin
ok:=false;
for i:=1 to nrv do
begin
ln:=viz[i].l;
cl:=viz[i].c;
for d:=1 to 4 do
begin
lnou:=ln+dl[d];
cnou:=cl+dc[d];
if (lnou>0)and(lnou<=n)and(cnou>0)and(cnou<=m)
and(vz[lnou,cnou]=0) then
begin
if c[v[lnou,cnou]]=1 then
begin
c[ch[lnou,cnou]]:=1;
inc(nr);
vz[lnou,cnou]:=1;
ok:=true;
inc(nrv);
viz[nrv].l:=lnou;
viz[nrv].c:=cnou;
end;
end;
end;
end;
end;
writeln(nr+1);
close(input);close(output);
end.