再谈排列问题
来源:互联网 发布:经典面试算法题 编辑:程序博客网 时间:2024/06/05 12:49
再谈排列问题
- 输入
- 第一行输入整数N(1<N<10)表示多少组测试数据,
每组测试数据第一行两个整数 n m (1<n<9,0<m<=n) - 输出
- 在1-n中选取m个字符进行全排列,按字典序全部输出,每种排列占一行,每组数据间不需分界。如样例
- 样例输入
23 14 2
- 样例输出
123121314212324313234414243
AC代码:#include<cstdio>#define MAX 20using namespace std;int main(int argc,char *argv[]){int count;int m,n;int flag;int i,j;int A[MAX];scanf("%d",&count);while(count--){scanf("%d%d",&n,&m);i=1;A[i]=1;while(1){flag=1;for(j=1;j<i;j++)//检查有没有生成重复的元素{if(A[j]==A[i]){flag=0;break;}}if(flag&&i==m)//打印排列{for(j=1;j<=m;j++)printf("%d",A[j]);printf("\n");}if(flag&&i<m)//个数小于M,继续生成数,初始为1{i++;A[i]=1;continue;}while(A[i]==n)//已达到最大值,回溯到上一个元素i--;if(i>0)//尝试下一个值A[i]++;elsebreak;}}return 0;}
1 0
- 再谈排列问题
- 排列问题
- 排列问题
- 排列问题
- 排列问题
- 排列问题
- 排列问题
- 排列问题
- 排列问题
- 排列问题
- 排列问题
- 排列问题
- 排列问题
- 排列问题
- 排列问题
- 排列问题
- 排列问题
- 排列问题
- linux下php+memcached+mongodb+redis安装配置
- 面向对象基础(1)--继承 多态 重构
- 孙宇 老师 SyPro项目部署成功 学习笔记
- UVa 539 - The Settlers of Catan 递归回溯
- 创建具有开源CMS的Web开发项目
- 再谈排列问题
- 字母矩形中单词搜索 Word Search
- android属性系统
- jstl遍历map集合中的list集合方法
- JVM工作原理之一:JVM装载与启动
- HTML颜色代码表
- C++虚函数表解析
- 官方QGis 编译帮助,源码工程中的Install文档。后面会放出我翻译的。
- kernel: TCP: time wait bucket table overflow错误的解决办法