排列
来源:互联网 发布:php权限功能模块 编辑:程序博客网 时间:2024/04/28 03:48
擅长排列的小明
时间限制:1000 ms | 内存限制:65535 KB
难度:4
- 描述
- 小明十分聪明,而且十分擅长排列计算。比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想为难他,在这5个数字中选出几个数字让他继续全排列,那么你就错了,他同样的很擅长。现在需要你写一个程序来验证擅长排列的小明到底对不对。
- 输入
- 第一行输入整数N(1<N<10)表示多少组测试数据,
每组测试数据第一行两个整数 n m (1<n<9,0<m<=n) - 输出
- 在1-n中选取m个字符进行全排列,按字典序全部输出,每种排列占一行,每组数据间不需分界。如样例
- 样例输入
23 14 2
- 样例输出
123121314212324313234414243
/*********************** author:crazy_石头* Pro:HDOJ 1711* algorithm: KMP* Judge Status:Accepted* Time:120ms* Memory:232K***********************/#include <iostream>#include <cstring>#include <cstdlib>#include <cstdio>#include <algorithm>using namespace std;#define rep(i,n) for(int i=0;i<(n);i++)const int maxn=10;int n,m;int used[maxn],temp[maxn];int a[maxn];inline void dfs(int cur){ if(cur==m) { rep(i,m) printf("%d",temp[i]); cout<<endl; } else rep(i,n) { if(!used[i]) { used[i]=1; temp[cur]=a[i]; dfs(cur+1); used[i]=0; } }}int main(){int test;cin>>test;while(test--){ cin>>n>>m;rep(i,n)a[i]=i+1;memset(used,0,sizeof(used));dfs(0);}return 0;}
- 排列
- 排列
- 排列
- 排列
- 排列
- 排列
- 排列
- 排列
- 排列
- 排列
- 排列
- 排列
- 排列
- 排列
- 排列
- 排列
- 排列
- 排列
- HashMap随笔
- 字符串替换(NYOJ)
- uva 10254 - The Priest Mathematician(dp)
- 大话数据结构十五:线索二叉树
- 中国改革开放以来政治中的自由派与保守派 ──两极冲突及其历史后果
- 排列
- usb 1-1: device descriptor read/64, error -62
- mysql常用的数学函数
- 时钟体系和各类时钟部件
- poj 1543 Perfect Cubes【sort排序结构体】
- android 查看其他进程内存数据
- OCP-1Z0-053-V12.02-249题
- 【MZ】CF 359C - 359E #209 (Div. 2)
- java提高篇(十一)-----代码块