Pagini recente » Cod sursa (job #440545) | Cod sursa (job #535104) | Cod sursa (job #3005086) | Cod sursa (job #2764587) | Cod sursa (job #601201)
Cod sursa(job #601201)
using namespace std;
#include <fstream>
ifstream fin("rj.in");
ofstream fout("rj.out");
char M[150][105];
short int i,j,n,m,aux;
short int Vert[8]={-1,-1,-1,0,1,1,1,0};
short int Oriz[8]={-1,0,1,1,1,0,-1,-1};
int main()
{fin>>n>>m;fin.get();
for(i=1;i<=n;i++)
fin.getline(M[i]+1,105);
for(i=0;i<=n+1;i++)
M[i][0]=M[i][m+1]='X';
for(i=0;i<=m+1;i++)
M[0][i]=M[m+1][i]='X';
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
fout<<M[i][j];
fout<<endl;
}
///////////////////////////////////// S T A R T////////////////////////
int stop=0,K=1,gL;
while(stop!=1)
{
gL=0;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(M[i][j]=='R')
{
for(aux=0;aux<8;aux++)
{
if(M[i+Vert[aux]][j+Oriz[aux]]==' ')
{
M[i+Vert[aux]][j+Oriz[aux]]='R';
gL=1;
}
else
if(M[i+Vert[aux]][j+Oriz[aux]]=='J')
{
M[i+Vert[aux]][j+Oriz[aux]]='R';
gL=1;
}
}
if(gL==1)
goto next;
}
next:
gL=0;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(M[i][j]=='J')
{
for(aux=0;aux<8;aux++)
{
if(M[i+Vert[aux]][j+Oriz[aux]]==' ')
{
M[i+Vert[aux]][j+Oriz[aux]]='J';
gL=1;
}
else
if(M[i+Vert[aux]][j+Oriz[aux]]=='R')
{
fout<<K+1<<" "<<i+Vert[aux]<<" "<<j+Oriz[aux];
return 0;
}
}
if(gL==1)
goto out;
}
out:
K++;
}
}