Pagini recente » Cod sursa (job #2383092) | Cod sursa (job #2001534) | Cod sursa (job #2139819) | Cod sursa (job #1783713) | Cod sursa (job #688767)
Cod sursa(job #688767)
#include<fstream>
using namespace std;
ifstream f("rj.in");
ofstream g("rj.out");
int di[]={0,0,1,-1,1,-1,1,-1};
int dj[]={1,-1,0,0,1,1,-1,-1};
int c1[2][101*101];
int c2[2][101*101];
int R[101][101],J[101][101];
int i,j,n,m,is,js,ic,jc,iv,jv,ifin,jfin,u,p,d,x,y,u2;
int x1,x2,x3;
char t;
int main(){
f>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
f>>t;
if(t==' ')R[i][j]=0;
J[i][j]=R[i][j];
if(t=='R')
{
R[i][j]=1;
J[i][j]=2;
c1[0][1]=i;
c1[1][1]=j;
}
if(t=='J')
{
J[i][j]=1;
R[i][j]=2;
c2[0][1]=i;
c2[1][1]=j;
}
}
u=1;p=1;u2=1;
while(p<=u)
{
ic=c1[0][p];
jc=c1[1][p];
for(d=0;d<=7;d++)
{
iv=ic+di[d];
jv=jc+dj[d];
if(iv>=1 && iv<=n && jv>=1 && jv<=n && R[iv][jv]==0)
{
u++;
c1[0][u]=iv;
c1[1][u]=jv;
R[iv][jv]=R[ic][jc]+1;
}
}
ic=c2[0][p];
jc=c2[1][p];
for(d=0;d<=7;d++)
{
iv=ic+di[d];
jv=jc+dj[d];
if(iv>=1 && iv<=n && jv>=1 && jv<=n && J[iv][jv]==0)
{
u2++;
c2[0][u2]=iv;
c2[1][u2]=jv;
J[iv][jv]=J[ic][jc]+1;
if(J[iv][jv]==R[iv][jv])
{
p=u+1;
x1=J[iv][jv];
x2=iv;
x3=jv;
break;
}
}
}
p++;
}
g<<x1<<" "<<x2<<" "<<x3;
return 0;
}