数字的全排列 问题
2011-08-22 21:44
148 查看
这个不解释,DFS的经典应用,不过很容易超时
最好用文件输出,貌似dev上显示的排列不全
最好用文件输出,貌似dev上显示的排列不全
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> #include<time.h> int vis[20]; int A[20]; int n; void dfs(int cur) { if(cur == n+1) { int i; for(i=1;i<=n;i++) { printf("%d",A[i]); if(i != n) printf(" "); } printf("\n"); } else { int i; for(i=1;i<=n;i++) { if(!vis[i]) { A[cur] = i; vis[i] = 1; dfs(cur+1); vis[i] = 0; } } } } int main() { int i; memset(vis,0,sizeof(vis)); while(scanf("%d",&n)==1,n) { dfs(1); printf("\n"); } return 0; }
相关文章推荐
- LeetCode—**字符串中数字的全排列问题Permutations
- 【编程题】网易有道笔试题——数字位数全排列整除问题
- 数字的全排列问题
- 数字的全排列 问题
- 解决 PHPEXCEL 纯数字 科学计数的问题
- [网络流24题 #16]数字梯形问题
- 数字统计问题
- Build 9926解决了大小写/数字键盘指示灯错乱问题
- 解决html连续字符或数字换行的问题
- QT往.csv文件中保存以0开头的数字字符串问题
- 数字货币到底解决了哪些问题?
- 问题 G: 数字分类 (20)
- 笔记本UIOP几个键总是输入数字的问题
- 数字三角形问题
- N个线程轮流打印数字问题
- ClickOnce 部署克服的主要问题 (清单签名的.pfx格式数字证书、"安装"后无反应的处理办法)
- oracle数据库中varchar类型字段中存放的有数字和汉字情况,比较大小问题解决
- 数的全排列问题
- 数字键盘回收的问题-限制只能数字输入
- 报告论文:数字图象处理问题