AcWing 1116. 马走日解答(搜索—DFS)
发布时间
阅读量:
阅读量
AcWing 1116. 马走日
DFS的典型应用场景中,关键在于如何记录已访问的节点数量,如何确认是否已遍历所有节点,以及在DFS过程中如何执行回溯操作以恢复状态。
#include<bits/stdc++.h>
using namespace std;
const int N = 10;
int T;
int n, m;
bool st[N][N];
int ans;
int dx[8] = {-1, -2, -2, -1, 1, 2, 2, 1};
int dy[8] = {-2, -1, 1, 2, 2, 1, -1, -2};
void dfs(int x, int y, int cnt){
if(cnt == n * m){ //如果搜索过的点数等于地图点数,就代表已经遍历完一遍地图
ans ++ ;
return ;
}
st[x][y] = true;
for(int i = 0; i < 8; i ++ ){
in
全部评论 (0)
还没有任何评论哟~
