Wrong Answer.wrong answer On line 68 column 1, read I, expected J.
#include<bits/stdc++.h>
using namespace std;
int T,m,n,mm,w,mi;
string s[1005],ss;
bool vis[1005][1005]={},done=0;
void bfs(int now,int x,int y)
{
if(done||now>mi||x<0||y<0||x>n-1||y>m-1||s[x][y]=='B'||vis[x][y]==1)
{
return;
}
if(x==n-1&&y==m-1)
{
mi=min(now,mi);
done=1;
return;
}
// cout<<endl<<x<<' '<<y<<endl;
vis[x][y]=1;
bfs(now+1,x+1,y);bfs(now+1,x-1,y);bfs(now+1,x,y+1);bfs(now+1,x,y-1);
}
int main()
{
cin>>T;
while(T--)
{
for(int i=0;i<1005;++i)
{
for(int j=0;j<1005;++j)
{
vis[i][j]=0;
}
}
w=0;mi=11451419;done=0;
cin>>m>>n;
for(int i=0;i<n;++i)
{
cin>>ss;
for(int j=0;j<m;++j)
{
if(ss[j]=='W')
{
++w;
}
}
s[i]=ss;
}
if(s[0][0]=='B'||s[n-1][m-1]=='B')
{
cout<<'J'<<endl;
continue;
}
bfs(1,0,0);
//cout<<mi<<endl<<w<<endl;
if(mi==11451419)
{
cout<<'J'<<endl;
continue;
}
if((w-mi)%2==0)
{
cout<<'J'<<endl;
}
else cout<<'I'<<endl;
}
return 0;
}