akoj-1048-求某一整数序列的全排列问题

求某一整数序列的全排列问题

Time Limit:1000MS  Memory Limit:65536K
Total Submit:35 Accepted:16

Description

现有一整数序列如:123,请计算出它的全排列。

Input

输入数据有两行组成,第一行为整数序列的长度,第二行为整数序列,序列元素之间以Tab符相隔。

Output

输出数据为整数序列的全排列,每一个排列单独占一行。

Sample Input

3

1 2 3

Sample Output

123

132

213

231

312

321

Source

 

[Submit]   [Go Back]   [Status]   [Discuss]

 

 1 /*

 2  * http://183.167.205.82:8081/JudgeOnline/showproblem?problem_id=1048

 3  * by jtahstu on 2015/2/7 7:00

 4  * 知识点: 排列生成器     按字典序的下一个排列     next_permutation()

 5  *                       按字典序的前一个排列     prev_permutation()

 6  */

 7 

 8 #include <iostream>

 9 #include <algorithm>

10 #include <string>

11 using namespace std;

12 

13 int main() {

14         int m;

15         string s,a;

16         cin>>m;

17         for(int i=0;i<m;i++)

18         {

19             cin>>a;

20             s+=a;

21         }

22         cout<<s<<endl;

23         while(next_permutation(s.begin(),s.end()))

24             cout<<s<<endl;

25 

26     return 0;

27  }

 

你可能感兴趣的:(全排列)