1 条题解
-
0
#include<iostream>//dfs深搜 #include<algorithm> using namespace std; int n,print[20]; bool vis[20]; void dfs(int k){ int i; if(k==n){ for(int j=1;j<=n;++j){ printf("%5d",print[j]); } printf("\n"); return; } for(int i=1;i<=n;++i){ if(!vis[i]){ vis[i]=1; print[k+1]=i; dfs(k+1); vis[i]=0;//回溯 } } return; } int main(){ scanf("%d",&n); dfs(0);//0开始! return 0; }
- 1
信息
- ID
- 5764
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 2
- 标签
- 递交数
- 64
- 已通过
- 30
- 上传者