Cod sursa(job #2244039)

Utilizator stefanut999Paul Colta stefanut999 Data 21 septembrie 2018 21:43:35
Problema Rj Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.14 kb
#include <fstream>
using namespace std;

ifstream fin("rj.in");
ofstream fout("rj.out");
int n,m,xj,yj,xr,yr,minim=101,time;
int dx[9]={1, 0, 1, -1, 0, 1, -1, 0, 1};
int dy[9]={-1, -1, -1, 0, 0, 0, 1, 1, 1};
char a[101][101];
typedef struct poz{int lin,col;}directie;



void citire()
{int j,i;
fin>>n>>m;
for(i=1; i<=n; i++)
    fin.getline(a[i]+1,101);
         {for(j=1; j<=m; j++)
            {if(a[i][j]=='R')
                {xr=i;
                yr=j;}
                if(a[i][j]=='J')
                {xj=i;
                yj=j;
                }}}
}

int main()
{ int pi=1,ps=1,j,i,p;
directie c[101];
citire();
for(i=1;i<=m;i++)
        a[0][i]=a[n+1][i]='-1';
    for(i=1;i<=n;i++)
        a[i][0]=a[i][m+1]='-1';
c[1].lin=xr;
c[1].col=yr;
a[xr][yr]='1';
while(ps<=pi && a[xj][yj]=='J')
{   for(i=0; i<8; i++)
        if(a[c[ps].lin+dx[i]][c[ps].col+dy[i]]==' ')
        {pi++;
         c[pi].lin=c[ps].lin+dx[i];
         c[pi].col=c[ps].col+dy[i];
         a[c[pi].lin][c[pi].col]=a[c[ps].lin][c[ps].col]+'1';
        }
    ps++;

}
p=(ps+1)/2;
fout<<p<<" "<<c[p].lin<<" "<<c[p].col;
return 0;
}