n=3 vis = [0for i in range(100)] result = [0for i in range(100)] defdfs(dp):# int if dp>n: # 大于n就是终止条件要输出了 print(result[1],result[2],result[3]) return for i in range(1,n+1): if vis[i]==0: vis[i] = 1# 证明已经探索过了 result[dp] = i #dp=1,2,3 dfs(dp+1) # 每一次往前探索一步 vis[i]=0#回溯回来清除标记不然没法进行接下来的选数
ans=0 n = 3 a=[[0]*100for _ in range(100)] b=[[0]*100for _ in range(100)] sx=[0,0,1,1,1,-1,-1,-1] sy=[1,-1,0,1,-1,0,1,-1]
defdfs2(s,t):# int if s==1and t==n: ans+=1 return for i in range(8):#8个方向 x = s + sx[i] y = t + sy[i] if x>0and y>0and x<=n and y<=5and a[x][y]==0and b[x][y]==0: b[x][y]=1 dfs2(x,y) b[x][y]=0# 回溯 return