Pagini recente » Cod sursa (job #2873764) | Cod sursa (job #1958736) | Cod sursa (job #1279029) | Cod sursa (job #6098) | Cod sursa (job #234310)
Cod sursa(job #234310)
#include<stdio.h>
#define po 101
int a[po][po],b[po][po];
int fill (int a[po][po],int &n,int &m)
{
int i,k,pas,d,e;
pas=1;e=1;
while(e)
{e=0;
pas++;
for(i=1;i<=n;i++)
for(k=1;k<=m;k++)
{
if(a[i][k]==0)
if(a[i-1][k]==pas-1 || a[i+1][k]==pas-1 || a[i][k-1]==pas-1 || a[i][k+1]==pas-1 || a[i-1][k-1]==pas-1 || a[i-1][k+1]==pas-1 || a[i+1][k-1]==pas-1 || a[i+1][k+1]==pas-1)
{ a[i][k]=pas;
e=1;
}
}}
}
int main ()
{
int n,m,i,k;
freopen("rj.in","r",stdin);
freopen("rj.out","w",stdout);
scanf("%d%d",&n,&m);
int xr,yr,x,yj;
char q[m];gets(q);
for(i=1;i<=n;i++)
{ gets(q);
for(k=0;k<m;k++)
{ // scanf("%c",&q);
if(q[k]=='x' || q[k]=='X')
b[i][k+1]=a[i][k+1]=20001;
if(q[k]=='R')
a[i][k+1]=1;
else
if(q[k]=='J')
b[i][k+1]=1;
}
}
fill(a,n,m);
fill(b,n,m);
int min,y;
min==20000;
for(i=1;i<=n;i++)
for(k=1;k<=m;k++)
{
if(a[i][k]==b[i][k] && a[i][k]<min && a[i][k]>0)
{min=a[i][k];
x=i;
y=k;
}
}
printf("%d %d %d",min,x,y);
return 0;
}