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

    科技2022-08-16  111

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

    题目描述

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

    输入格式

    一个整数 nn。

    输出格式

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

    每个数字保留 55 个场宽。

    输入输出样例

    输入 #1复制

    3

    输出 #1复制

    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的全排列函数来直接求解即可。

    #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; }

     

    Processed: 0.010, SQL: 9