Pagini recente » Cod sursa (job #2144051) | Cod sursa (job #140920) | Cod sursa (job #1838787) | Cod sursa (job #110522) | Cod sursa (job #458885)
Cod sursa(job #458885)
#include<fstream.h>
char s[101];
int a[101][101],i,j,n,m,w=1,e=0,g,yl,yj,yr,xr,xl,xj;
int main()
{ifstream f("rj.in");ofstream h("rj.out");f>>n>>m;
for(i=0;i<=n;i++)
{f.getline(s,100,'\n');
for(j=0;j<m;j++)
{if(s[j]==' ') a[i][j+1]=0;
if(s[j]=='X') a[i][j+1]=500;
if(s[j]=='R') {a[i][j+1]=1;xr=i;yr=j;}
if(s[j]=='J') {a[i][j+1]=-1;xj=i;yj=j;} }
}
/*for(i=1;i<=n;i++)
{for(j=1;j<=m;j++)
cout<<a[i][j]<<" ";
cout<<endl;} */
do{
g=0;w++;
for(j=yr-w;j<=yr+w;j++)
{if(a[xr-w][j]==0) {g++;a[xr-w][j]=w;}
if(a[xr-w][j]==-(w-1)) {e=1;xl=xr+1-w;yl=j;}
if(a[xr+w][j]==0) {g++;a[xr+w][j]=w;}
if(a[xr+w][j]==-(w-1)) {e=1;xl=xr-1+w;yl=j;} }
for(j=xr-w;j<=xr+w;j++)
{if(a[j][yr-w]==0) {g++;a[j][yr-w]=w;}
if(a[j][yr-w]==-(w-1)) {e=1;xl=j;yl=yr-w;}
if(a[j][yr+w]==0) {g++;a[j][yr-w]=w;}
if(a[j][yr+w]==-(w-1)) {e=1;xl=j;yl=yr-w;}}
for(j=yj-w;j<=yj+w;j++)
{
if(a[xj-w][j]==0) {g++;a[xj-w][j]=w;}
if(a[xj+w][j]==0) {g++;a[xj+w][j]=w;}}
for(j=xj-w;j<=xj+w;j++)
{if(a[j][yj-w]==0) {g++;a[j][yj-w]=w;}
if(a[j][yj+w]==0) {g++;a[j][yj+w]=w;} } }
while(g!=0 && e==0);
h<<a[xl][yl]<<" "<<xl<<" "<<yl;
return 0;}