P1958 上学路线
题目传送门:P1958 上学路线
一个DFS求迷宫的的题。
详细在代码里:
#include <bits/stdc++.h>using namespace std;
int n,m,a[20][20],t,x,y,ans=0;
int dx[4]={0,1};
int dy[4]={1,0};
int flag[105][105]={0};
inline void dfs(register int x,register int y){//DFSif(x==m&&y==n){//如果搜到终点ans++;return;}for(int i=0;i<2;i++){//这能往连个方向走register int nx=x+dx[i];register int ny=y+dy[i];if(flag[nx][ny]==1||nx<1||ny<1||nx>m||ny>n)continue;//判断是否越界dfs(nx,ny);}
}
int main()
{//freopen("gwdmj.in","w",stdin);//freopen("gwdmj.out","r",stdout);cin>>n>>m;cin>>t;while(t--){cin>>x>>y;flag[y][x]=1;}dfs(1,1);cout<<ans;return 0;
}