Pagini recente » Cod sursa (job #2835835) | Cod sursa (job #544211) | Cod sursa (job #2464516) | Cod sursa (job #2760325) | Cod sursa (job #108655)
Cod sursa(job #108655)
program rj;
var f,g:text;
a:array[0..100] of string;
sol1,sol2:array [0..100,0..100] of integer;
s1x,s2x,s1y,s2y:array [0..10000] of integer;
dx,dy:array[1..8] of integer;
n,m,i,j,st,fn,nr:integer;
vida:boolean;
begin
assign(f,'rj.in'); assign(g,'rj.out');
reset(f); rewrite(g);
readln(f,n,m);
for i:=1 to n do
begin
readln(f,a[i]);
for j:=1 to m do
if a[i,j]='R' then begin s1x[1]:=i; s1y[1]:=j; end else
if a[i,j]='J' then begin s2x[1]:=i; s2y[1]:=j; end
end;
dx[1]:=-1; dy[1]:=-1; dx[2]:=-1; dy[2]:=0; dx[3]:=-1; dy[3]:=1;
dx[4]:=0; dy[4]:=-1; dx[5]:=0; dy[5]:=1;
dx[6]:=1; dy[6]:=-1; dx[7]:=1; dy[7]:=0; dx[8]:=1; dy[8]:=1;
st:=1;
fn:=1;
vida:=false;
sol1[s1x[st],s1y[st]]:=1;
nr:=0;
while not vida do
begin
for i:=1 to 8 do
if (a[s1x[st]+dx[i],s1y[st]+dy[i]]=' ') and (sol1[s1x[st]+dx[i],s1y[st]+dy[i]]=0) then
begin
sol1[s1x[st]+dx[i],s1y[st]+dy[i]]:=sol1[s1x[st],s1y[st]]+1;
fn:=fn+1;
s1x[fn]:=s1x[st]+dx[i];
s1y[fn]:=s1y[st]+dy[i];
end;
st:=st+1;
if fn<st then vida:=true;
end;
st:=1;
fn:=1;
vida:=false;
sol2[s2x[st],s2y[st]]:=1;
nr:=0;
while not vida do
begin
for i:=1 to 8 do
if (a[s2x[st]+dx[i],s2y[st]+dy[i]]=' ') and (sol2[s2x[st]+dx[i],s2y[st]+dy[i]]=0) then
begin
sol2[s2x[st]+dx[i],s2y[st]+dy[i]]:=sol2[s2x[st],s2y[st]]+1;
fn:=fn+1;
s2x[fn]:=s2x[st]+dx[i];
s2y[fn]:=s2y[st]+dy[i];
end;
st:=st+1;
if fn<st then vida:=true;
end;
for i:=1 to n do
for j:=1 to m do
if (sol1[i,j]=sol2[i,j]) and (sol1[i,j]<>0) then begin writeln(g,sol1[i,j],' ',i,' ',j); break; end;
close(f); close(g);
end.