nyoj 19 擅长排列的小明
2016-09-29 23:06
295 查看
擅长排列的小明
时间限制:1000 ms | 内存限制:65535 KB难度:4
描述小明十分聪明,而且十分擅长排列计算。比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想为难他,在这5个数字中选出几个数字让他继续全排列,那么你就错了,他同样的很擅长。现在需要你写一个程序来验证擅长排列的小明到底对不对。
输入第一行输入整数N(1<N<10)表示多少组测试数据,
每组测试数据第一行两个整数 n m (1<n<9,0<m<=n)
输出在1-n中选取m个字符进行全排列,按字典序全部输出,每种排列占一行,每组数据间不需分界。如样例
样例输入
2 3 1 4 2
样例输出
1 2 3 12 13 14 21 23 24 31 32 34 41 4243
思路:简单的深搜全排列
#include<stdio.h>
#include<string.h>
int num[10],book[10];
int n,m,t;
void dfs(int step)
{ int i,j;
if(step==m+1)
{ for(i=1;i<=m;i++)
printf("%d",num[i]);
printf("\n");
return ;
}
for(j=1;j<=n;j++)
{ if(book[j]==0)
{ book[j]=1;
num[step]=j;
dfs(step+1);
book[j]=0;
}
}
return ;
}
int main()
{ scanf("%d",&t);
while(t--)
{
memset(book,0,sizeof(book));
memset(num,0,sizeof(num));
scanf("%d %d",&n,&m);
dfs(1);
}
}
相关文章推荐
- nyoj19擅长排列的小明(递归)
- nyoj-19-擅长排列的小明
- NYOJ 19 擅长排列的小明(dfs递归)
- nyoj 19擅长排列的小明 (DFS)
- NYOJ19 擅长排列的小明【next_permutation】
- NYOJ---19擅长排列的小明
- nyoj 19 擅长排列的小明
- NYOJ-19-擅长排列的小明
- NYOJ19 擅长排列的小明
- NYOJ-19 擅长排列的小明 -----回溯
- nyoj-19 擅长排列的小明
- nyoj 19 擅长排列的小明
- nyoj 19 擅长排列的小明<按序排列>
- nyoj 擅长排列的小明 19 (dfs)
- NYOJ 19 擅长排列的小明(排列 dfs /STL)
- nyoj 19 擅长排列的小明 【DFS】
- nyoj 19【擅长排列的小明】
- NYOJ19,擅长排列的小明,StringBuffer.deleteCharAt()
- nyoj--19 擅长排列的小明(dfs)
- nyoj 19 擅长排列的小明