Cod sursa(job #254583)

Utilizator PavelRazvanPavel Razvan PavelRazvan Data 7 februarie 2009 13:03:51
Problema Rj Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.14 kb
#include<stdio.h>
#define DIM 101
int dx[8]={-1,-1,-1,0,0,1,1,1};
int dy[8]={-1,0,1,-1,1,-1,0,1};
int n,m,a[DIM][DIM],x1,y1,ok,pas,f1;
char ch;
int main ()
{
    freopen("rj.in","r",stdin);
    freopen("rj.out","w",stdout);
    int i,j,k;
	scanf("%d%d",&n,&m);
    for(i=1;i<=n;++i)
    {
        scanf("\n");
        for(j=1;j<=m;++j)
        {
            scanf("%c",&ch);
            if(ch=='X')
            a[i][j]=-1;
            if(ch=='R')
            a[i][j]=1;
            if(ch=='J')
            {
                x1=i;
                y1=j;
            }
        }
    }
    for(ok=1,pas=1;ok!=0;++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+dx[k]][j+dy[k]]==0)
                {
                    a[i+dx[k]][j+dy[k]]=a[i][j]+1;
                    ok=1;
                }
            }
    }
    f1=a[x1][y1]/2+1;
    printf("%d",f1);
    for(i=1;i<=n;++i)
    for(j=1;j<=m;++j)
    if(a[i][j]==f1)
    {
        printf(" %d %d",i,j);
        return 0;
    }
}