Pagini recente » Cod sursa (job #2785783) | Cod sursa (job #722540) | Cod sursa (job #2283702) | Cod sursa (job #133697) | Cod sursa (job #239437)
Cod sursa(job #239437)
#include<algorithm>
using namespace std;
int n,m,a[101][101],b[101][101];
const int di[8]={-1,0,1,-1,1,-1,0,1},dj[8]={-1,-1,-1,0,0,1,1,1};
void rlee(){
int i,j,k,pas,ok=1;
for(pas=1; ok; ++pas){
ok=0;
for(i=1; i<=n; ++i)
for(j=1; j<=m; ++j)
if(a[i][j]==pas)
for(k=0; k<8; ++k)
if(!a[i+di[k]][j+dj[k]]){
a[i+di[k]][j+dj[k]]=pas+1;
ok=1;}}}
void jlee(){
int i,j,k,pas,ok=1;
for(pas=1; ok; ++pas){
ok=0;
for(i=1; i<=n; ++i)
for(j=1; j<=m; ++j)
if(b[i][j]==pas)
for(k=0; k<8; ++k)
if(!b[i+di[k]][j+dj[k]]){
b[i+di[k]][j+dj[k]]=pas+1;
ok=1;}}}
void solve(){
int i,j;
char ch;
scanf("%d%d\n",&n,&m);
for(i=1; i<=n; ++i)
for(j=1; j<=m+1; ++j){
scanf("%c",&ch);
if(ch=='R')
a[i][j]=1;
else if(ch=='J')
b[i][j]=1;
else if(ch=='X')
a[i][j]=b[i][j]=-1;}
for(i=0; i<n+2; ++i)
a[0][i]=b[0][i]=a[n+1][i]=b[n+1][i]=-1;
for(i=0; i<m+1; ++i)
a[i][0]=b[i][0]=a[i][m+1]=b[i][m+1]=-1;
rlee();
jlee();
for(i=1; i<=n; ++i)
for(j=1; j<=m; ++j)
if(a[i][j]>0&&a[i][j]==b[i][j]){
printf("%d %d %d",a[i][j],i,j);
i=n+1;
j=m+1;}}
int main(){
freopen("rj.in","r",stdin);
freopen("rj.out","w",stdout);
solve();
return 0;}