70分求助

P1605 迷宫

```cpp #include <iostream> #include <cstdio> using namespace std; const int MAXN=7; const int dx[4]={1, 0,-1, 0}; const int dy[4]={0, 1, 0,-1}; int _map[MAXN][MAXN],p[MAXN][MAXN]; int n,m,t,sx,sy,fx,fy,ans; void DFS(int x,int y) { if(x<=0||x>n||y<=0||y>m)return; p[x][y]=1; if(x==fx&&y==fy) { ans++; p[x][y]=0; return; } for(int i=0;i<4;i++) { if(!_map[x+dx[i]][y+dy[i]]&&!p[x+dx[i]][y+dy[i]]) DFS(x+dx[i],y+dy[i]); } p[x][y]=0; } int main() { cin>>n>>m>>t>>sx>>sy>>fx>>fy; for(int i=0;i<t;i++) { int x,y; cin>>x>>y; _map[x][y]=1; } DFS(sx,sy); cout<<ans<<endl; return 0; } ```
by xiao_bao @ 2019-04-07 19:42:36


帮你改了一下,应该能过了。
by xiao_bao @ 2019-04-07 19:45:10


@[xiao_bao](/space/show?uid=118603) 哦哦,谢谢
by PZimba @ 2019-04-07 21:09:35


|