Pagini recente » Cod sursa (job #1181976) | Cod sursa (job #2584086) | Cod sursa (job #2374081) | Cod sursa (job #1976660) | Cod sursa (job #515668)
Cod sursa(job #515668)
#include<fstream>
#include<string>
using namespace std;
char a[120][120];
ifstream f("rj.in");
ofstream g("rj.out");
int main()
{ int n,m,i,j,xr,yr,xj,yj,sw=1,Dx[]={-1,-1,-1,0,0,1,1,1},Dy[]={-1,0,1,-1,1,-1,0,1},t,x,y;
char sir[200],*p,k='1';
//citire
f>>n>>m; f.get();
for(i=0;i<n;i++)
{
f.getline(sir,200);
strcpy(a[i],sir);
p=strchr(sir,'R');
if(p) { xr=i; yr=p-sir; }
p=NULL;
p=strchr(sir,'J');
if(p) if(p) { xj=i; yj=p-sir; }
p=NULL;
}
for(i=0;i<8;i++)
if(a[xj+Dx[i]][yj+Dy[i]]==' ') a[xj+Dx[i]][yj+Dy[i]]='1';
for(i=0;i<8;i++)
if(a[xr+Dx[i]][yr+Dy[i]]=='1') {sw=0; break;}
else if(a[xr+Dx[i]][yr+Dy[i]]==' ') a[xr+Dx[i]][yr+Dy[i]]='1';
while(sw)
{ sw=0;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
if(a[i][j]==k)
{ sw=1;
for(t=0;t<8;t++)
if(a[i+Dx[t]][j+Dy[t]]==(k+1)) { x=i+Dx[t]; y=j+Dy[t]; sw=0;}
if(sw) for(t=0;t<8;t++)
if(a[i+Dx[t]][j+Dy[t]]==' ') a[i+Dx[t]][j+Dy[t]]=k+1;
}
k++;
}
g<<x+1<<' '<<y+1<<' '<<a[x][y];
return 0;
}