全排列問題之遞迴求解

2021-05-07 12:22:11 字數 706 閱讀 5394

全排列問題

今天下午在tongji onlinejudge上做的一道全排列題:採用了讓人頭昏目眩的遞迴法

全排列的解法不少,大家可以試一試。

----------------------------------

problem

將乙個字元組全排序

input

乙個長度小於10的字串,該字串由數字1~9組成。字元不會重複出現。

output

按數字在輸入串中出現的次序從小到大的順序輸出該字元組的全排序

sample input

132sample output

1 3 2

1 2 3

3 1 2

3 2 1

2 1 3

2 3 1

---------------------------------

/*此解答已通過tongji編譯並被accept

memory  time

36 k    8 ms

zhouyinhui 2006-5-4 17:30

*/#include

#include

char string[9];

int used[9]=;

char output[9];

int  length;

void f(int d)

遞迴求解全排列問題

遞迴求解全排列問題 求解思想 排列中每乙個數字,都有一次當最前單一綴的機會,例如 排列陣列 a 1.當a中只有1個數字的時候,a 1 則只有1個數字做單一字首和字尾,則只有一種 1!1 可能 a1,直接輸出 2.當a中只有2個數字的時候,a 2 則a1,a2分別有一次機會做單一字首的機會,2!2 3...

遞迴之全排列問題

一 問題 設計乙個遞迴演算法生成n個元素的全排列。二 思路 其實就是將整個序列a 的每個元素一一提到序列a首個位置即a i 三 include using namespace std void swap int a,int b list k m 的所有排列,k是序列首下標,m是序列最後乙個下標 vo...

遞迴演算法之全排列問題

2 數字全排列 numlist.pas in out 列出所有從數字1到數字n的連續自然數的排列,要求所產生的任一數字序列中不允許出現重複的數字。輸入乙個整數n 1 n 9 輸出由1 n組成的所有不重複的數字序列,每行乙個序列,數字與數字之間用空格隔開,行首行尾不留空格。樣例輸入 numlist.i...