50求助!

P1605 迷宫

```cpp #include <bits/stdc++.h> using namespace std; int a[8][8],ss; int x1[4]={-1,0,1,0}; int y[4]={0,1,0,-1}; int N,M,T,SX,SY,FX,FY; int dfs(int SX,int SY){ if(SX==FX&&SY==FY){ ss++; } for(int i=0;i<=3;i++){ if(a[SX+x1[i]][SY+y[i]]==0&&SX+x1[i]>0&&SX+x1[i<=N&&SY+y[i]>0&&SY+y[i]<=M) { a[SX+x1[i]][SY+y[i]]=1; dfs(SX+x1[i],SY+y[i]); a[SX+x1[i]][SY+y[i]]=0;} } } int main(){ cin>>N>>M>>T>>SX>>SY>>FX>>FY; for(int i=1,x,y;i<=T;i++){ cin>>x>>y; a[x][y]=1; } a[SX][SY]=1; dfs(SX,SY); cout<<ss; return 0; } ```
by yzxv5 @ 2022-09-24 22:46:22


|