m*n迷宫,在任意指定的格子x,y出发,只能走l步,打印所有可能的走法。不允许走已经走过的格子
典型的DFS搜索问题
#include <iostream>
using namespace std;
int main() {
//int a;
//cin >> a;
cout << "Hello World!" << endl;
}
const int dx[] = {1,0,0,-1};
const int dy[] = {0,1,-1,0};
bool visited[M][N];
vector<vector<pair<int,int>> res;
void dfs(int x, int y, int count,vector<pair<int,int>> path){
if(count==L){
res.push_back(path);
//path.clear();
}
visited[x][y] = true;
path.push_back({x,y});
for(int i=0;i<4;i++){
int a = x+dx[i];
int b = y+dy[i];
if(a>=0&&a<n&&b>=0&&b<n&&!visited[a][b]) dfs(a,b,count+1, path);
}
visited[x][y] = false;
path.pop_back();
}