全排列问题

原创 2018年04月16日 20:11:54

全排列问题

Time Limit: 10000 ms Memory Limit: 65536 KiB

Problem Description

从n个不同元素任取m(m<=n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列,当m=n时所有的排列情况叫全排列。现输入n个递增的数,请你输出这n个数的全排列。全排列输出顺序如样例所示。

Input

多组输入。

首先输入一个数据组数T(1<=T<=100)

接下来是T组数据。

每组数据有两行。

第一行先输入一个整数n(1<=n<=10)。

接下来是一行输入n个由空格分开的互不相同的整数num(1<=num<=90000)。

Output

对于每组数据,每一种排列占一行,各元素间用逗号隔开。

Sample Input

1
3
1 2 3

Sample Output

1,2,3
1,3,2
2,1,3
2,3,1
3,2,1
3,1,2

Hint

Source

#include<stdio.h>
void S(int *p, int *q)
{
    int temp = *p;
    *p = *q;
    *q = temp;
}
void P(int a[], int k, int m)
{
    int i;
    if(k == m)
    {
        for(i = 0; i < m; i++)
        {
            printf("%d,", a[i]);
        }
        printf("%d\n", a[i]);
    }
    else
    {
        for(i = k; i <= m; i++)
        {
            S(&a[k], &a[i]);
            P(a, k + 1, m);
            S(&a[k], &a[i]);
        }
    }
}
int main()
{
    int i, n, t, a[10];
    scanf("%d", &t);
    while(t--)
    {
        scanf("%d", &n);
        for(i = 0; i < n; i++)
            scanf("%d", &a[i]);
        P(a, 0, n - 1);
    }
    return 0;
}

C/C++:全排列问题

C/C++:全排列问题
  • test1280
  • test1280
  • 2017-05-14 22:37:13
  • 688

oj-刷题 全排列

Problem A: 进阶递归之全排列 Time Limit: 1 Sec  Memory Limit: 64 MB Submit: 58  Solved: 19 [Submit][Status][W...
  • zw159357
  • zw159357
  • 2017-05-05 17:41:14
  • 356

算法总结(9)--全排列问题

leetcode上涉及到的全排列,注意数组的有序,无序,数组元素是否有重复的 主要是递归算法 每个问题记住关键点,注意特殊处理–全排列问题转载 http://blog.csdn.net/more...
  • qq_26437925
  • qq_26437925
  • 2016-10-22 21:58:08
  • 1278

全排列问题的JAVA代码

全排列问题可以促成实现很多问题,比如8皇后问题等 递归实现全排列思想:以字符数组为例,第一个字符和后面每一个字符交换都可以作为全排列的一种,不妨让第一个字符和每个字符交换一次,但是这仅仅完成了第一步...
  • sinat_35404176
  • sinat_35404176
  • 2017-03-12 17:05:41
  • 459

又是全排列问题(hdu 1716)

又是一全排列问题:
  • u011396840
  • u011396840
  • 2014-08-12 23:27:39
  • 544

用回溯算法解决全排列问题

全排列问题的回溯解法: public class Permute { public int N; public int[] X; public static void main(Str...
  • xmsheji
  • xmsheji
  • 2015-06-01 18:37:03
  • 998

问题 A 分治法求解全排列问题

题目描述 设R=(1, 2, .., n),计算R的全排列。 分治法求解全排列的算法思想: 设R=(1, 2, .., n)的全排列为P(R), 若R=(),则P()=(); 否则,P(R)...
  • qq_32126633
  • qq_32126633
  • 2016-10-24 23:28:46
  • 680

【poj】3187全排列

E - E Crawling in process... Crawling failed Time Limit:1000MS     Memory Limit:65536KB     64bi...
  • idealistic
  • idealistic
  • 2017-03-08 18:03:41
  • 221

递归解决全排列问题+详细图解递归执行

问题描述:字符串的排列 //输入一个字符串, 按字典序打印出该字符串中字符的所有排列。 //例如输入字符串abc, 则打印出由字符a, b, c所能排列出来的所有字符串abc, acb, bac, ...
  • songshiMVP1
  • songshiMVP1
  • 2016-06-08 15:59:19
  • 1268

全排列问题pascal解题程序

var a,b:array[0..9]of longint; n:longint; procedure print; var i:longint; begin     for i:=1 ...
  • SSLGZ_yyc
  • SSLGZ_yyc
  • 2016-12-02 21:30:24
  • 738
收藏助手
不良信息举报
您举报文章:全排列问题
举报原因:
原因补充:

(最多只允许输入30个字)