1 条题解
-
1
#include <bits/stdc++.h> using namespace std; int n,c; bool f[10][10]; int fx[5]={0,0,1,0,-1}; int fy[5]={0,1,0,-1,0}; struct Node{ int xe,ye; }r[30]; void print(int key){ c++; cout<<c<<":"; for (int i=1;i<key;i++)cout<<r[i].xe<<","<<r[i].ye<<"->"; cout<<n<<","<<n<<endl; } void dfs(int x,int y,int k){ r[k]={x,y}; if (x==n&&y==n){ print(k); return; } for (int i=1;i<=4;i++){ int tx=fx[i]+x; int ty=fy[i]+y; if (tx>=1&&tx<=n&&ty>=1&&ty<=n&&!f[tx][ty]){ f[tx][ty]=true; dfs(tx,ty,k+1); f[tx][ty]=false; } } } int main(){ cin>>n; f[1][1]=true; dfs(1,1,1); return 0; }
- 1
信息
- ID
- 735
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 7
- 标签
- 递交数
- 16
- 已通过
- 11
- 上传者