40分,哪位大佬能帮忙看一下哪里错了,十分感谢。
代码:
#include<iostream>
using namespace std;
int n,m,t;
int x,y,x1,y1,x2,y2;
int a[10][10];
int dx[4]={-1,0,1,0};
int dy[4]={0,1,0,-1};
int ans=0;
void dfs(int x3,int y3){
for(int i=0;i<4;i++){
int x4=x3+dx[i];
int y4=y3+dy[i];
if(x4==x1&&y4==y1){
ans++;
}
if(x4<=0||x4>n||y4<=0||y4>m) continue;
if(a[x4][y4]==1) continue;
a[x4][y4]=1;
dfs(x4,y4);
}
}
int main(){
cin>>n>>m>>t;
cin>>x>>y>>x1>>y1;
a[x][y]=1;
for(int i=1;i<=t;i++){
cin>>x2>>y2;
a[x2][y2]=1;
}
dfs(x,y);
cout<<ans;
return 0;
}