0
点赞
收藏
分享

微信扫一扫

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

题目描述

输出自然数 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("%5d",a[j]);
}
printf("\n");
}
return 0;
}

 

举报

相关推荐

0 条评论