题目链接 https://www.lanqiao.cn/problems/644/learning/
题目分析
dfs 深度优先搜索
以(3,3)为中心点 向外搜索,搜索到边回溯,每次标记对称点和自身,结果需要除以4(四条边旋转)
代码
#include#include int dir[4][2]={{0,1},{0,-1},{1,0},{-1,0}}; bool book[6][6]; bool map[6][6]; int ans=0; using namespace std; void dfs(int x,int y) { if(x==0||y==0||x==6||y==6) { ans++; return ; } for(int k=0;k<4;k++) { int nx=x+dir[k][0]; int ny=y+dir[k][1]; if(nx>=0&&ny>=0&&nx<=6&&ny<=6&&!book[nx][ny]) { book[nx][ny]=1; book[6-nx][6-ny]=1; dfs(nx,ny); book[nx][ny]=0; book[6-nx][6-ny]=0; } } } int main() { book[3][3]=1; dfs(3,3); cout<



