麻风良好,求help
查看原帖
麻风良好,求help
1072677
_Epsilon_楼主2024/12/29 12:32

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;
}
2024/12/29 12:32
加载中...