P1706 全排列问题【STL 全排列函数】

2023-03-09 13:37:18 浏览数 (1)

https://www.luogu.com.cn/problem/P1706

题目描述

输出自然数 11 到 nn 所有不重复的排列,即 nn 的全排列,要求所产生的任一数字序列中不允许出现重复的数字。

输入格式

一个整数 nn。

输出格式

由 1 sim n1∼n 组成的所有不重复的数字序列,每行一个序列。

每个数字保留 55 个场宽。

输入输出样例

输入 #1复制

代码语言:javascript复制
3

输出 #1复制

代码语言:javascript复制
    1    2    3
    1    3    2
    2    1    3
    2    3    1
    3    1    2
    3    2    1

说明/提示

1 leq n leq 91≤n≤9

题解:利用STL的全排列函数来直接求解即可。

代码语言:javascript复制
#include <bits/stdc  .h>

using namespace std;

int a[20];
int main()
{
    int n,sum;
    scanf("%d",&n);
    sum = 1;
    for(int i = 1; i <= n; i   )
    {
        a[i] = n   1 - i;
        sum *= i;
    }
    for(int i = 0; i < sum; i   )
    {
        next_permutation(a 1,a 1 n);
        for(int j = 1; j <= n; j   )
        {
            printf("]",a[j]);
        }
        printf("n");
    }
    return 0;
}
stl

0 人点赞