排列问题
分数 10
全屏浏览
切换布局
作者 雷丽兰
单位 宜春学院
全排列问题
输出自然数1至n中n个数字的全排列(1≤n≤9),要求所产生的任一数字序列中不允许出现重复的数字。
输入格式:
一个自然数
输出格式:
由1到n中n个数字组成的所有不重复的数字序列,每行一个序列,数字之间用一个空格隔开。
例:
在这里给出一组输入。例如:
3
输出样例:
在这里给出相应的输出。例如:
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
代码长度限制
16 KB
时间限制
4000 ms
内存限制
64 MB
栈限制
8192 KB
函数讲解:next_permutation
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
int s[n+1];
for(int i=1;i<=n;i++){
s[i]=i;
}
sort(s+1,s+n+1);
do{
for(int i=1;i<=n;i++)
cout<<s[i]<<" ";
cout<<"\n";
}while(next_permutation(s+1,s+1+n));
return 0;
}