1 条题解

  • 0
    @ 2025-8-4 18:40:30
    • 经典错误 1:
    • 结果:TLE + MLE
    #include<bits/stdc++.h>
    using namespace std;
    
    
    int main()
    { 	
    	int n,m,x,y,x1,y1;
    	int sxy[105][105],sx[4]={-1,1,0,0},sy[4]={0,0,-1,1},cs=0;
    	char a[105][105];
    	string s;
    	queue<pair<int,int>> q; 
    	
    	cin>>n>>m;
    	memset(sxy,-1,sizeof(sxy));
    	cs=0;
    	for(int i=0;i<n;i++){
    		cin>>s;
    		for(int j=0;j<m;j++) a[i][j]=s[j];
    	}
    	if(a[0][0]=='.') q.push(make_pair(0,0));
    	while(!q.empty())
    	{
    		x=q.front().first,y=q.front().second;
    		q.pop();
    		if(x==n-1 && y==m-1)
    		{
    			cout<<"Yes"<<endl;
    			cs=1;
    			break;
    		}
    		sxy[x][y]=1;
    		for(int t=0;t<4;t++)
    		{
    			x1=x+sx[t];
    			y1=y+sy[t];
    			if(x1<0 || x1>=n || y1<0 || y1>=m) continue;
    			if(sxy[x1][y1]==1) continue;
    			if(a[x1][y1]=='.') q.push(make_pair(x1,y1));
    		}
    	}
    	if(cs==0) cout<<"No"<<endl;
    	return 0;
    } 
    
    
    • 1

    信息

    ID
    56
    时间
    1000ms
    内存
    128MiB
    难度
    6
    标签
    递交数
    106
    已通过
    34
    上传者