擅长排列的小明-递归
2013-09-22 10:19
190 查看
nyoj第19题http://acm.nyist.net/JudgeOnline/problem.php?pid=19
在1-n中选取m个字符进行全排列,按字典序全部输出。
可以用递归的思想,也可以用深搜的思想,但是代码是一样的。往深处递归时通过全局变量a和vis传递信息,而在返回时,要消除信息。
在1-n中选取m个字符进行全排列,按字典序全部输出。
可以用递归的思想,也可以用深搜的思想,但是代码是一样的。往深处递归时通过全局变量a和vis传递信息,而在返回时,要消除信息。
#include<iostream> #include<stdio.h> #include<memory.h> using namespace std; bool vis[10]; int a[10]; void f(int n,int m,int lev); int main(){ int k; cin>>k; while(k--){ int n,m; cin>>n>>m; memset(vis,false,sizeof(vis)); f(n,m,1); } //system("pause"); return 0; } void f(int n,int m,int lev){ int i; if(lev==m+1){ for(i=1;i<=m;i++) cout<<a[i]; putchar(10); } else{ for(i=1;i<=n;i++){ if(!vis[i]){ a[lev]=i; vis[i]=true; f(n,m,lev+1); vis[i]=false; } } } }
相关文章推荐
- 擅长排列的小明(递归,暴力求解)
- NYOJ366 D的小L 和 NYOJO32 组合数 和 NYOJ19 擅长排列的小明 和 NYOJ488 素数环 【递归】
- nyoj19擅长排列的小明(递归)
- NYOJ 19 擅长排列的小明(dfs递归)
- 擅长排列的小明
- 擅长排列的小明II
- NYOJ 469 擅长排列的小明 II
- nyoj 19 擅长排列的小明
- NY19 擅长排列的小明 【STL】
- 擅长排列的小明 II(找规律)
- 擅长排列的小明
- Nyoj 469 擅长排列的小明 II
- 擅长排列的小明
- 擅长排列的小明
- nyoj 469 擅长排列的小明 II
- NYOJ19,擅长排列的小明,StringBuffer.deleteCharAt()
- NYOJ 19 擅长排列的小明
- nyoj 19 擅长排列的小明
- 擅长排列的小明(南阳19)(DFS)
- NYOJ 擅长排列的小明 酒馆浪人的博客