Cod sursa(job #2395970)

Utilizator DanutAldeaDanut Aldea DanutAldea Data 3 aprilie 2019 09:05:06
Problema Rj Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.61 kb
#include fstream
#include cstring
#include cmath
#define x first
#define y second
using namespace std;

ifstream fin(rj.in);
ofstream fout(rj.out);

int v[101][101];
int zid[101][101];
int n,m,i,j,u,p,ic,jc,iv,jv;
char s[210];
pair int,int c[100001];
int d;
int di[8]={-1,-1,-1, 0, 0, 1, 1, 1};
int dj[8]={-1, 0, 1,-1, 1,-1, 0, 1};

int main(){
    finnm;
    for(i=1;i=n;i++){
        fin.get();
        fin.get(s,101);
        for(j=0;jm;j++){
            if(s[j]=='X')
                zid[i][j+1]=1;
            if(s[j]=='R'){
                v[i][j+1]=1;
                c[++u].x=i;
                c[u].y=j+1;
            }
            if(s[j]=='J'){
                v[i][j+1]=-1;
                c[++u].x=i;
                c[u].y=j+1;
            }
        }
    }

    p=1;
    while(p=u){
        ic=c[p].x; jc=c[p].y;
        for(d=0;d8;d++){
            iv=ic+di[d]; jv=jc+dj[d];

            if(iv=n && jv=m && iv=1 && jv=1){
                if(!zid[iv][jv]){
                    if(v[iv][jv]==0){
                        if(v[ic][jc]0)
                            v[iv][jv]=v[ic][jc]+1;
                        else
                            v[iv][jv]=v[ic][jc]-1;

                        u++;
                        c[u].x=iv; c[u].y=jv;
                    }else{
                        if(v[iv][jv]+v[ic][jc]==-1  v[iv][jv]+v[ic][jc]==1){
                            foutfabs(v[iv][jv]) iv jv;
                            return 0;
                        }
                    }
                }
            }
        }

        p++;
    }

    return 0;
}