本菜鸡的代码如下,5个AC,五个TLE,求各位指点;
#include<bits/stdc++.h>
using namespace std;
int a[110][110];
int n,m,flag=0;
void hhh(int x,int y){
if(flag==1){
return ;
}
if(x==n&&y==m){
flag=1;
return ;
}
if(a[x+1][y]==1&&x+1>=1&&x+1<=n&&y>=1&&y<=m){
a[x][y]=0;
hhh(x+1,y);
a[x][y]=1;
}
if(flag==1){
return ;
}
if(a[x-1][y]==1&&x-1>=1&&x-1<=n&&y>=1&&y<=m){
a[x][y]=0;
hhh(x-1,y);
a[x][y]=1;
}
if(flag==1){
return ;
}
if(a[x][y+1]==1&&x>=1&&x<=n&&y+1>=1&&y+1<=m){
a[x][y]=0;
hhh(x,y+1);
a[x][y]=1;
}
if(flag==1){
return ;
}
if(a[x][y-1]==1&&x>=1&&x<=n&&y-1>=1&&y-1<=m){
a[x][y]=0;
hhh(x,y-1);
a[x][y]=1;
}
if(flag==1){
return ;
}
return ;
}
int main(){
cin>>n>>m;
string c;
for(int i=1;i<=n;++i){
cin>>c;
for(int j=1;j<=m;++j){
if(c[j-1]=='.'){
a[i][j]=1;
}
else a[i][j]=0;
}
}
hhh(1,1);
if(flag==1){
cout<<"Yes";
}
else cout<<"No";
return 0;
}
码风 离谱 清奇,请各位原谅!