Pagini recente » Cod sursa (job #51526) | Cod sursa (job #1429655) | Cod sursa (job #2282323) | Cod sursa (job #2167291) | Cod sursa (job #500307)
Cod sursa(job #500307)
#include<fstream.h>
typedef struct{int x,y;}POZ;
int main ()
{
ifstream fcin("rj.in");
ofstream fcout("rj.out");
POZ r,ju;
int i,j,n,m,a,b,k=0;
char x;
fcin>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{fcin>>x;if(x=='R'){r.x=i;r.y=j;}
else if (x=='J'){ju.x=i;ju.y=j;}}
if(r.x>ju.x)
if(r.y>ju.y){a=r.x-ju.x;b=r.y-ju.y;
while(a>1&&b>1){r.x--;r.y--;ju.x++;ju.y++;a=a-2;b=b-2;k++;}
if(a==0&&b==0);
else if(a==1&&b==1){k++;r.y--;}
else if(a==1&&b==0){k++;r.x--;}
else if(a==0&&b==1){k++;r.y--;}
else if(b>1){r.y=r.y-b/2-b%2;r.x=r.x-a;k=k+b/2+b%2;}
else if(a>1){r.x=r.x-a/2-a%2;r.y=r.y-b;k=k+a/2+a%2;}}
else {a=r.x-ju.x;b=-r.y+ju.y;
while(a>1&&b>1){r.x--;r.y++;ju.x++;ju.y--;a=a-2;b=b-2;k++;}
if(a==0&&b==0);
else if(a==1&&b==1){k++;r.x--;}
else if(a==1&&b==0){k++;r.x--;}
else if(a==0&&b==1){k++;ju.y--;}
else if(b>1){r.y=r.y+b/2;r.x=r.x-a;k=k+b/2+b%2;}
else if(a>1){r.x=r.x-a/2-a%2;r.y=r.y+b;k=k+a/2+a%2;}}
else
if(r.y>ju.y){a=-r.x+ju.x;b=r.y-ju.y;
while(a>1&&b>1){r.x++;r.y--;ju.x--;ju.y++;a=a-2;b=b-2;k++;}
if(a==0&&b==0);
else if(a==1&&b==1){k++;r.y--;}
else if(a==1&&b==0){k++;}
else if(a==0&&b==1){k++;r.y--;}
else if(b>1){r.y=r.y-b/2-b%2;k=k+b/2+b%2;}
else if(a>1){r.x=r.x+a/2;r.y=r.y-b;k=k+a/2+a%2;}}
else {a=-r.x+ju.x;b=-r.y+ju.y;
while(a>1&&b>1){r.x++;r.y++;ju.x--;ju.y--;a=a-2;b=b-2;k++;}
if(a==0&&b==0);
else if(a==1&&b==1){k++;r.x--;}
else if(a==1&&b==0){k++;r.x--;}
else if(a==0&&b==1){k++;ju.y--;}
else if(b>1){r.y=r.y+b/2;k=k+b/2+b%2;}
else if(a>1){r.x=r.x+a/2;k=k+a/2+a%2;}}
fcout<<k<<' '<<r.x<<' '<<r.y<<'\n';
return 0;
}