Pagini recente » Cod sursa (job #2392805) | Cod sursa (job #1528543) | Cod sursa (job #687078) | Cod sursa (job #1694226) | Cod sursa (job #2297229)
#include <bits/stdc++.h>
using namespace std;
ifstream f ("rj.in");
ofstream g ("rj.out");
char a[101][101];
unsigned int n,m,r[101][101],j[101][101],v1[10001],v2[10001],v3[10001],v4[10001],l,c,st,dr,drj,tmin=10001,ll,cc;
bool ok;
char linie[101];
void citire (unsigned int & n ,unsigned int & m){
f>>n>>m;
f.get();
char ch;
for(l=1;l<=n;l++)
{f.get(linie,102);
for(c=1;c<=m;c++)
{ ch=linie[c-1];
a[l][c]=ch;
if(ch=='R') {
v1[1]=l;
v2[1]=c;
r[l][c]=1;
} else
if(ch=='J') {
v3[1]=l;
v4[1]=c;
j[l][c]=1;
}
}
f.get();
}
}
int main()
{
citire(n,m);
/*for(l=1;l<=n;l++)
{
for(c=1;c<=m;c++)cout<<a[l][c];
cout<<endl;
}*/
st=1; dr=1; drj=1;
while(st<=dr)
{
//if(v1[dr]==v3[drj]&&v2[dr]==v4[drj])ok=true;
//else {
if(r[v1[st]-1][v2[st]]==0 && a[v1[st]-1][v2[st]]==' ')
{
dr++;
v1[dr]=v1[st]-1;
v2[dr]=v2[st];
r[v1[dr]][v2[dr]]=r[v1[st]][v2[st]]+1;
}
if(r[v1[st]-1][v2[st]]==0 && a[v1[st]-1][v2[st]+1]==' ')
{
dr++;
v1[dr]=v1[st]-1;
v2[dr]=v2[st]+1;
r[v1[dr]][v2[dr]]=r[v1[st]][v2[st]]+1;
}
if(r[v1[st]][v2[st]+1]==0 && a[v1[st]][v2[st]+1]==' ')
{
dr++;
v1[dr]=v1[st];
v2[dr]=v2[st]+1;
r[v1[dr]][v2[dr]]=r[v1[st]][v2[st]]+1;
}
if(r[v1[st]+1][v2[st]+1]==0 && a[v1[st]+1][v2[st]+1]==' ')
{
dr++;
v1[dr]=v1[st]+1;
v2[dr]=v2[st]+1;
r[v1[dr]][v2[dr]]=r[v1[st]][v2[st]]+1;
}
if(r[v1[st]+1][v2[st]]==0 && a[v1[st]+1][v2[st]]==' ')
{
dr++;
v1[dr]=v1[st]+1;
v2[dr]=v2[st];
r[v1[dr]][v2[dr]]=r[v1[st]][v2[st]]+1;
}
if(r[v1[st]+1][v2[st]-1]==0 && a[v1[st]+1][v2[st]-1]==' ')
{
dr++;
v1[dr]=v1[st]+1;
v2[dr]=v2[st]-1;
r[v1[dr]][v2[dr]]=r[v1[st]][v2[st]]+1;
}
if(r[v1[st]][v2[st]-1]==0 && a[v1[st]][v2[st]-1]==' ')
{
dr++;
v1[dr]=v1[st];
v2[dr]=v2[st]-1;
r[v1[dr]][v2[dr]]=r[v1[st]][v2[st]]+1;
}
if(r[v1[st]-1][v2[st]-1]==0 && a[v1[st]-1][v2[st]-1]==' ')
{
dr++;
v1[dr]=v1[st]-1;
v2[dr]=v2[st]-1;
r[v1[dr]][v2[dr]]=r[v1[st]][v2[st]]+1;
}
/*
if(j[v3[st]-1][v4[st]]==0 && a[v3[st]-1][v4[st]]==' ')
{
drj++;
v3[drj]=v3[st]-1;
v4[drj]=v4[st];
j[v3[drj]][v4[drj]]=j[v3[st]][v4[st]]+1;
}
if(j[v3[st]-1][v4[st]]==0 && a[v3[st]-1][v4[st]+1]==' ')
{
drj++;
v3[drj]=v3[st]-1;
v4[drj]=v4[st]+1;
j[v3[drj]][v4[drj]]=j[v3[st]][v4[st]]+1;
}
if(j[v3[st]][v4[st]+1]==0 && a[v3[st]][v4[st]+1]==' ')
{
drj++;
v3[drj]=v3[st];
v4[drj]=v4[st]+1;
j[v3[drj]][v4[drj]]=j[v3[st]][v4[st]]+1;
}
if(j[v3[st]+1][v4[st]+1]==0 && a[v3[st]+1][v4[st]+1]==' ')
{
drj++;
v3[drj]=v3[st]+1;
v4[drj]=v4[st]+1;
j[v3[drj]][v4[drj]]=j[v3[st]][v4[st]]+1;
}
if(j[v3[st]+1][v4[st]]==0 && a[v3[st]+1][v4[st]]==' ')
{
drj++;
v3[drj]=v3[st]+1;
v4[drj]=v4[st];
j[v3[dr]][v4[dr]]=j[v3[st]][v4[st]]+1;
}
if(j[v3[st]+1][v4[st]-1]==0 && a[v3[st]+1][v4[st]-1]==' ')
{
drj++;
v3[drj]=v3[st]+1;
v4[drj]=v4[st]-1;
j[v3[drj]][v4[drj]]=j[v3[st]][v4[st]]+1;
}
if(j[v3[st]][v4[st]-1]==0 && a[v3[st]][v4[st]-1]==' ')
{
drj++;
v3[drj]=v3[st];
v4[drj]=v4[st]-1;
j[v3[drj]][v4[drj]]=j[v3[st]][v4[st]]+1;
}
if(j[v3[st]-1][v4[st]-1]==0 && a[v3[st]-1][v4[st]-1]==' ')
{
drj++;
v3[drj]=v3[st]-1;
v4[drj]=v4[st]-1;
j[v3[drj]][v4[drj]]=j[v3[st]][v4[st]]+1;
}
*/
/* for(l=1;l<=n;l++)
{
for(c=1;c<=m;c++)cout<<r[l][c];
cout<<endl;
}
cout<<endl;*/
st++;
}
st=1; dr=1; drj=1;
while(st<=drj)
{
if(j[v3[st]-1][v4[st]]==0 && a[v3[st]-1][v4[st]]==' ')
{
drj++;
v3[drj]=v3[st]-1;
v4[drj]=v4[st];
j[v3[drj]][v4[drj]]=j[v3[st]][v4[st]]+1;
}
if(j[v3[st]-1][v4[st]]==0 && a[v3[st]-1][v4[st]+1]==' ')
{
drj++;
v3[drj]=v3[st]-1;
v4[drj]=v4[st]+1;
j[v3[drj]][v4[drj]]=j[v3[st]][v4[st]]+1;
}
if(j[v3[st]][v4[st]+1]==0 && a[v3[st]][v4[st]+1]==' ')
{
drj++;
v3[drj]=v3[st];
v4[drj]=v4[st]+1;
j[v3[drj]][v4[drj]]=j[v3[st]][v4[st]]+1;
}
if(j[v3[st]+1][v4[st]+1]==0 && a[v3[st]+1][v4[st]+1]==' ')
{
drj++;
v3[drj]=v3[st]+1;
v4[drj]=v4[st]+1;
j[v3[drj]][v4[drj]]=j[v3[st]][v4[st]]+1;
}
if(j[v3[st]+1][v4[st]]==0 && a[v3[st]+1][v4[st]]==' ')
{
drj++;
v3[drj]=v3[st]+1;
v4[drj]=v4[st];
j[v3[dr]][v4[dr]]=j[v3[st]][v4[st]]+1;
}
if(j[v3[st]+1][v4[st]-1]==0 && a[v3[st]+1][v4[st]-1]==' ')
{
drj++;
v3[drj]=v3[st]+1;
v4[drj]=v4[st]-1;
j[v3[drj]][v4[drj]]=j[v3[st]][v4[st]]+1;
}
if(j[v3[st]][v4[st]-1]==0 && a[v3[st]][v4[st]-1]==' ')
{
drj++;
v3[drj]=v3[st];
v4[drj]=v4[st]-1;
j[v3[drj]][v4[drj]]=j[v3[st]][v4[st]]+1;
}
if(j[v3[st]-1][v4[st]-1]==0 && a[v3[st]-1][v4[st]-1]==' ')
{
drj++;
v3[drj]=v3[st]-1;
v4[drj]=v4[st]-1;
j[v3[drj]][v4[drj]]=j[v3[st]][v4[st]]+1;
}
/* for(l=1;l<=n;l++)
{
for(c=1;c<=m;c++)cout<<j[l][c];
cout<<endl;
}
cout<<endl;*/
st++;
}
for(l=1;l<=n;l++)
for(c=1;c<=m;c++)
if(r[l][c]==j[l][c]&&tmin>r[l][c]&&r[l][c]&&j[l][c]){tmin=r[l][c];ll=l;cc=c;}
//cout<<dr<<" "<<v1[dr]<<" "<<v2[dr];
/*cout<<tmin<<endl;
for(l=1;l<=n;l++)
{
for(c=1;c<=m;c++)cout<<r[l][c];
cout<<endl;
}
cout<<endl;
for(l=1;l<=n;l++)
{
for(c=1;c<=m;c++)cout<<j[l][c];
cout<<endl;
}
cout<<endl;*/
g<<tmin<<" "<<ll<<" "<<cc;
return 0;
}