Pagini recente » Cod sursa (job #1136360) | Cod sursa (job #2032315) | Cod sursa (job #2540847) | Cod sursa (job #139197) | Cod sursa (job #621547)
Cod sursa(job #621547)
using namespace std;
#include <fstream>
#include <iomanip>
ifstream fin("rj.in");
ofstream fout("rj.out");
int L,matrice[105][105],i,j,ds,k=0,sj,coada[2][10200];
char test;
short int Y[4]={-1,0,1, 0};
short int X[4]={ 0,1,0,-1};
int main()
{
fin>>sj>>ds;
j=i=1;
fin.ignore();
while(!fin.eof())
{
fin.get(test);
if(test==' ')
{
j++;
}
else
if(test=='X')
{
matrice[i][j]=-1;
j++;
}
else
if(test=='\n')
{
j=1;
i++;
}
else
if(test=='R')
{
matrice[i][j]=1;
coada[0][k]=i;
coada[1][k]=j;
k++;
j++;
}
else
if(test=='J')
{
matrice[i][j]=1;
coada[0][k]=i;
coada[1][k]=j;
k++;
j++;
}
}
fin.close();
for(i=0;i<=ds+1;i++)
matrice[0][i]=matrice[ds+1][i]=matrice[i][0]=matrice[i][ds+1]=-1;
for(i=0;i<k;i++)
{
for(j=0;j<4;j++)
if(matrice[coada[0][i]+Y[j]][coada[1][i]+X[j]]==0)
{
coada[0][k]=coada[0][i]+Y[j];
coada[1][k]=coada[1][i]+X[j];
k++;
matrice[coada[0][i]+Y[j]][coada[1][i]+X[j]]=matrice[coada[0][i]][coada[1][i]]+1;
}
else
if(matrice[coada[0][i]+Y[j]][coada[1][i]+X[j]]==matrice[coada[0][i]][coada[1][i]]+1)
{
fout<<matrice[coada[0][i]+Y[j]][coada[1][i]+X[j]]-1<<' '<<coada[0][i]+Y[j]<<' '<<coada[1][i]+X[j]<<'\n';
return 0;
}
}
}