zoukankan      html  css  js  c++  java
  • 擅长排列的小明(递归,暴力求解)

     

    擅长排列的小明

    时间限制: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
    42
    43
     1 #include<iostream>
     2 #include<algorithm>
     3 #include<cstdio>
     4 #include<cstring>
     5 
     6 using namespace std;
     7 
     8 void fun(int n,int r,int cur);
     9 int a[10];
    10 
    11 int main()
    12 {
    13   int t,n,r;
    14 
    15   scanf("%d",&t);
    16   while(t--)
    17   {
    18  memset(a,0,sizeof(a));
    19     scanf("%d%d",&n,&r);
    20   
    21     fun(n,r,0);      
    22   }
    23   return 0;    
    24 }
    25 
    26 void fun(int n,int r,int cur)
    27 {
    28   int i,j;     
    29   
    30   if(r==cur)
    31   {
    32     for(i=0; i<r; i++)
    33   printf("%d",a[i]);
    34  printf("\n");
    35   }
    36  else for(i=1;i<=n;i++)
    37  {
    38    int k=1;
    39    for(j=0; j<cur; j++)
    40     if(a[j]==i)
    41      k=0;
    42     if(k)
    43     {
    44      a[cur]=i;
    45      fun(n,r,cur+1);
    46     }
    47  }
    48 
    49 }
  • 相关阅读:
    soundtouch 变速算法matlab实现
    resample matlab实现
    hrtf virtual surround matlab实现
    hrtf 旋转音效matlab实现
    audio mixer
    schroeder reverb matlab实现
    HTML DOCTYPE文档类型举例说明
    window 连接双网
    linux 命令
    sqlserver 时间戳
  • 原文地址:https://www.cnblogs.com/hpuwangjunling/p/2374740.html
Copyright © 2011-2022 走看看