Pagini recente » Borderou de evaluare (job #757320) | Borderou de evaluare (job #3114762) | Borderou de evaluare (job #1386222) | Borderou de evaluare (job #2163060) | Cod sursa (job #250535)
Cod sursa(job #250535)
#include<stdio.h>
int ro[100][100],ju[100][100];
struct POS{
int x,y;
};
void lee(POS start, int a[][])
{
int u,p,coada[1100][2],e[2],q[2];
int dlin{};
int dcol{};
u=p=0;
coada[u][0]=start.x;
coada[u++][1]=start.y;
while(p!=u)
{
x[0]=coada[p][0];
x[1]=coada[p++][1];
for(i=0;i<8;++i)
{
Y[0]=X[0]+dlin[i];
Y[1]=X[1]+dcol[i];
if(!mat[y[0]][y[1]])
{
mat[y[0]][y[1]]=mat[x[0]][x[1]]+1;
coada[u][0]=y[0];
coada[u][1]=y[1];
}
}
}
}
int main()
{
int m,n,x,y,i,j;
freopen("rj.in","r",stdin);
freopen("rj.out","w",stdout);
scanf("%d%d",&m,&n);
char c;
for(i=1;i<=n;++i)
for(j=1;j<=m;++j)
{
scanf("%c",&c);
if(c=='X')
ro[i][j]=ju[i][j]=-1;
if(c=='r')
{
rom.x=i;
rom.y=j;
}
if(c=='j')
{
jul.x=i;
jul.y=j;
}
}
lee(rom,ro);
lee(jul,ju);
for(i=1;i<=n;++i)
for(j=1;j<=m;++j)
if(ro[i][j]==ju[i][j])
{
if(tmin>ro[i][j])
{
tmin=ro[i][j];
x=i;
y=j;
}
}
printf("%d %d %d",x,y,tmin);
return 0;
}