PTA教輔 輸出全排列 20分

2021-08-01 02:57:15 字數 917 閱讀 6941

5-23 輸出全排列   (20分)

請編寫程式輸出前nn

n個正整數的全排列(n<10n<10

n<10

),並通過9個測試用例(即nn

n從1到9)觀察nn

n逐步增大時程式的執行時間。

輸入給出正整數nn

n(<10<10

<10

)。 輸出1到nn

n的全排列。每種排列佔一行,數字間無空格。排列的輸出順序為字典序,即序列a1,a2,⋯,ana​

1​​,

a​2​

​,⋯,

a​n​

​排在序列b1,b2,⋯,bnb​

1​​,

b​2​

​,⋯,

b​n​

​之前,如果存在kk

k使得a1=b1,⋯,ak=bka_1=b_1, \cdots, a_k=b_ka​

1​​=

b​1​

​,⋯,

a​k​

​=b​

k​​ 並且 ak+1a​

k+1​

​k+1​

​。

3
123

132213

2313

321

分析:原本是個很經典很經典的dfs,但是有了stl中的那幾個全排列函式,就再。。。。。。。(奇怪的是這個通過率還挺高,真是搞不懂。。。。。。)

#include using namespace std;

int a[10]= ;

int main()

cout

cout<}

return 0;

}

pta題目集 輸出全排列 (20 分)

7 38 輸出全排列 20 分 請編寫程式輸出前n個正整數的全排列 n 10 並通過9個測試用例 即n從1到9 觀察n逐步增大時程式的執行時間。輸入給出正整數n 10 輸出1到n的全排列。每種排列佔一行,數字間無空格。排列的輸出順序為字典序,即序列a 1 a 2 a n 排在序列b 1 b 2 b ...

7 14 輸出全排列(20 分)

請編寫程式輸出前 n個正整數的全排列 0 並通過9個測試用例 即 n從1到9 觀察 n逐步增大時程式的執行時間。輸入給出正整數 n 輸出1到 n的全排列。每種排列佔一行,數字間無空格。排列的輸出順序為字典序,即序列a 1 a 2 a n 排在序列b 1 b 2 b n 之前,如果存在 k使得,並且 ...

7 58 輸出全排列 20分

宣告乙個模板,虛擬型別名為t 抒抒說的博文 template class type void perm type list,int k,int m permutation else inline void swap type a,type b c 中的 inline 用法 菜鳥教程 通過交換,容易不...