Pagini recente » Cod sursa (job #1002278) | Cod sursa (job #181865) | Cod sursa (job #2058878) | Cod sursa (job #1027381) | Cod sursa (job #111235)
Cod sursa(job #111235)
#include<stdio.h>
FILE *f=fopen("rj.in","r");
FILE *g=fopen("rj.out","w");
int a[101][101],b[101][101],i,j,r1,r2,j1,j2,n,m;
char x[110];
void lee(int a[101][101],int q,int w)
{
int contor=1;
int ok=1;
a[q][w]=1;
while(ok==1)
{
ok=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{
if(a[i][j]==contor)
{
if(a[i+1][j]==0)
{
a[i+1][j]=contor+1;
ok=1;
}
if(a[i][j+1]==0)
{
a[i][j+1]=contor+1;
ok=1;
}
if(a[i-1][j]==0)
{
a[i-1][j]=contor+1;
ok=1;
}
if(a[i][j-1]==0)
{
a[i][j-1]=contor+1;
ok=1;
}
if(a[i-1][j-1]==0)
{
a[i-1][j-1]=contor+1;
ok=1;
}
if(a[i+1][j+1]==0)
{
a[i+1][j+1]=contor+1;
ok=1;
}
if(a[i+1][j-1]==0)
{
a[i+1][j-1]=contor+1;
ok=1;
}
if(a[i-1][j+1]==0)
{
a[i-1][j+1]=contor+1;
ok=1;
}
}
}
contor++;
}
}
int main()
{
int ok1=0;
fscanf(f,"%d",&n);
fscanf(f,"%d",&m);
fgets(x,m+1,f);
for(i=1;i<=n;i++)
{
fgets(x,120,f);
for(j=0;j<m;j++)
{
if(x[j]=='X')
{
a[i][j+1]=-1;
b[i][j+1]=-1;
}
if(x[j]=='R')
{
r1=i;
r2=j+1;
}
if(x[j]=='J')
{
j1=i;
j2=j+1;
}
}
}
lee(a,r1,r2);
lee(b,j1,j2);
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
if(a[i][j]==b[i][j] && a[i][j]>0)
{
fprintf(g,"%d %d %d",a[i][j],i,j);
ok1=1;
break;
}
if(ok1==1)
break;
}
fcloseall();
return 0;
}