测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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就可以了!

上一题 下一题