PTA 輸出全排列 DFS

2021-08-10 14:49:23 字數 906 閱讀 6690

請編寫程式輸出前n個正整數的全排列(n<10),並通過9個測試用例(即n從1到9)觀察n逐步增大時程式的執行時間。

輸入給出正整數n(<10)。

輸出1到n的全排列。每種排列佔一行,數字間無空格。排列的輸出順序為字典序,即序列a​1​​,a​2​​,⋯,a​n​​排在序列b​1​​,b​2​​,⋯,b​n​​之前,如果存在k使得a​1​​=b​1​​,⋯,a​k​​=b​k​​ 並且 a​k+1​​

3
123

132213

231312

321

#include #include using namespace std;

int n,v[11],a[11];

void dfs(int x)

return 0;

}

/*當前序列不存在下乙個排列時,函式返回false,否則返回true//

next_permutation(num,num+n)函式是對陣列num中的前n個元素進行全排列,

同時並改變num陣列的值。//

next_permutation()在使用前需要對欲排列陣列按公升序排序,

否則只能找出該序列之後的全排列數//

next_permutation(node,node+n,cmp)

可以對結構體num按照自定義的排序方式cmp進行排序。*/

#include #include using namespace std;

int main()

{    int n,num[11];

while(cin>>n)

{for(int i=1; i<=n; i++)

num[i-1]=i;do{

cout<

PTA教輔 輸出全排列 20分

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的全排列。每種排列佔一行,數字間無空格。排列的輸出順序為字典序,...

Python程式設計PTA題解 輸出全排列

description 輸出前n個正整數的全排列 3 n 7 按字典序輸出。input 輸入僅一行,輸入正整數n。output 輸出僅一行,輸出1到n的全排列。每種排列佔一行,數字間無空格。sample input 3sample output 123132 213231 312321 import...

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 ...