#include<bits/stdc++.h>
using namespace std;
int ans=0 ,n;
//1.地图数组
//int maze[10][10];
//2.标记数组
int used[10][10];
//3.方向数组
int fx[8][2]={{-2,1},{-1,2},{1,2},{2,1},{2,-1},{1,-2},{-1,-2},{-2,-1}};
//dfs 搜索
void dfs(int x,int y,int n){//n表示第几步
if(n>25){
ans++;
return ;
}else{
used[x][y]=1;
//八个方向的点
for(int i=0;i<8;i++){
int nx=x+fx[i][0];
int ny=y+fx[i][1];
if(nx>=1&&nx<=5&&ny>=1&&ny<=5&&used[nx][ny]==0){
used[nx][ny]=1;
// maze[nx][ny]=n+1;
dfs(nx,ny,n+1);
used[nx][ny]=0;
// maze[nx][ny]=0;
}
}
}
}
int main(){
//maze[1][1]=1;
used[1][1]=1;
dfs(1,1,2);
cout<<ans<<endl;
return 0;
}
评论区