https://www.luogu.org/problem/show?pid=1605
就很实在的深搜 我就是模拟的地图搜索 没想到竟然1A了 给了我很大的信心
#include<bits/stdc++.h> using namespace std; int n,m; int T; int sx,sy,ex,ey; char s[10][10]; //地图 int sum; int vis[10][10];//询问次数 int fx[]={-1,0,0,1}; int fy[]={0,-1,1,0}; bool check(int x,int y) { if(x>=1 && y>=1 && x<=n && y<=m && s[x][y]!='#' && vis[x][y]==0) { return 1; } return 0; } int dfs(int x,int y) { if(s[x][y] == '#') return 0; if(x==ex && ey == y ) { sum++; } vis[x][y] = 1; for(int i=0;i<4;i++) { int dx = x+ fx[i], dy = y+fy[i]; if(check(dx,dy)) dfs(dx,dy); } vis[x][y] = 0; } int main() { scanf("%d %d %d",&n,&m,&T); scanf("%d %d %d %d",&sx,&sy,&ex,&ey); for(int i=1;i<=T;i++) { int x,y; scanf("%d %d",&x,&y); s[x][y] = '#'; } dfs(sx,sy); cout<<sum<<endl; }