Pagini recente » Cod sursa (job #2800029) | Cod sursa (job #84219) | Cod sursa (job #2786211) | Cod sursa (job #1524631) | Cod sursa (job #402605)
Cod sursa(job #402605)
#include<fstream>
#include<stdio.h>
using namespace std;
ifstream fin("rj.in");
ofstream fout("rj.out");
char k[102];
int a[102][102],l;
int n,m,i,j,p,u,v,ok;
int main()
{
fin>>n>>m;
for(i=0;i<=n+1;i++)
a[i][0]=a[i][m+1]=-1;
for(j=0;j<=m+1;j++)
a[0][j]=a[n+1][j]=-1;
for(i=0;i<=n;i++)
{
fin.getline(k,'\n');
for(j=0;j<m;j++)
{
if(k[j]=='R')
a[i][j+1]=1;
else
if(k[j]==' ')
a[i][j+1]=0;
else
if(k[j]=='X')
a[i][j+1]=-1;
else
if(k[j]=='J')
a[i][j+1]=-2;
}
}
l=1;
while(1)
{p=0;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(a[i][j]==l)
{
if(a[i-1][j]==0){a[i-1][j]=l+1;p++;}
if(a[i+1][j]==0){a[i+1][j]=l+1;p++;}
if(a[i-1][j-1]==0){a[i-1][j-1]=l+1;p++;}
if(a[i-1][j+1]==0){a[i-1][j+1]=l+1;p++;}
if(a[i+1][j-1]==0){a[i+1][j-1]=l+1;p++;}
if(a[i+1][j+1]==0){a[i+1][j+1]=l+1;p++;}
if(a[i][j-1]==0){a[i][j-1]=l+1;p++;}
if(a[i][j+1]==0){a[i][j+1]=l+1;p++;}
}
if(p==0)
break;
l++;
}
l=-1;u=-1;v=-1;ok=0;
while(1)
{l--;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
if(a[i][j]==l)
{
if(a[i-1][j+1]!=-l)
{if(a[i-1][j+1]!=-1)a[i-1][j+1]=l-1;}
else {u=i-1;v=j+1;}
if(a[i+1][j+1]!=-l)
{if(a[i+1][j+1]!=-1)a[i+1][j+1]=l-1;}
else {u=i+1;v=j+1;}
if(a[i][j+1]!=-l)
{if(a[i][j+1]!=-1)a[i][j+1]=l-1;}
else {u=i;v=j+1;}
if(a[i-1][j]!=-l)
{if(a[i-1][j]!=-1)a[i-1][j]=l-1;}
else {u=i-1;v=j;}
if(a[i+1][j]!=-l)
{if(a[i+1][j]!=-1)a[i+1][j]=l-1;}
else {u=i+1;v=j;}
if(a[i-1][j-1]!=-l)
{if(a[i-1][j-1]!=-1)a[i-1][j-1]=l-1;}
else {u=i-1;v=j-1;}
if(a[i+1][j-1]!=-l)
{if(a[i+1][j-1]!=-1)a[i+1][j-1]=l-1;}
else {u=i+1;v=j-1;}
if(a[i][j-1]!=-l)
{if(a[i][j-1]!=-1)a[i][j-1]=l-1;}
else {u=i;v=j-1;}
if((u!=-1)&&(v!=-1))
{
fout<<a[u][v]<<" "<<u<<" "<<v<<'\n';
ok=1;
break;
}
}
if(ok==1) break;
}
if(ok==1) break;
}
fin.close();
fout.close();
return 0;
}