A51998. 全排列
填空题
中等
知识点
题目描述
全排列
题目描述
给出一个数n,要求你输出1到n的全排列(要求字典序从小到大)
(n<=10)
输入
一个数n
输出
包括若干行,每行包含n个数,表示相应的全排列值。
样例输入
4
样例输出
1 2 3 4
1 2 4 3
1 3 2 4
1 3 4 2
1 4 2 3
1 4 3 2
2 1 3 4
2 1 4 3
2 3 1 4
2 3 4 1
2 4 1 3
2 4 3 1
3 1 2 4
3 1 4 2
3 2 1 4
3 2 4 1
3 4 1 2
3 4 2 1
4 1 2 3
4 1 3 2
4 2 1 3
4 2 3 1
4 3 1 2
4 3 2 1
参考答案
#include<iostream>
#include<algorithm>
using namespace std;
int main() {
int a[4]= {1,2,3,4};
do {
cout<<a[0]<<" "<<a[1]<<" "<<a[2]<<" "<<a[3]<<endl;
} while(next_permutation(a,a+4));
system("pause");
}答案解析
直接调用C++库函数next_permutation就可以了!
上一题
下一题