給定乙個由不同的小寫字母組成的字串,輸出這個字串的所有全排列。
我們假設對於小寫字母有』a』 < 『b』 < … < 『y』 < 『z』,而且給定的字串中的字母已經按照從小到大的順序排列。
輸入只有一行,是乙個由不同的小寫字母組成的字串,已知字串的長度在1到6之間。
輸出這個字串的所有排列方式,每行乙個排列。要求字母序比較小的排列在前面。字母序如下定義:
已知s = s1s2…sk , t = t1t2…tk,則s < t 等價於,存在p (1 <= p <= k),使得
s1 = t1, s2 = t2, …, sp - 1 = tp - 1, sp < tp成立。
注意每組樣例輸出結束後接乙個空行。
xyz
xyz
xzyyxz
yzxzxy
zyx
用stl中的next_permutation會非常簡潔。
#include
#include
#include
#include
using
namespace std;
intmain()
while
(next_permutation
(str,str+len));
cout <}return0;
}
Codeup 問題 A 全排列(入門)
考慮 n 3 n 3n 3 代表了有 a,b ca,b,c a,b,c 三個空位置和寫有 1,2 31,2,3 1,2,3 的卡片,我們需要將卡片放到空位置上,並且每個位置只能放一張卡片,現在我們需要找出這 3 33 張卡片的所有不同擺放方法。在某乙個位置,考慮應該先放哪張卡片的時候,我們可以約定乙...
codeup 問題 A 遞迴入門 全排列
題目描述 排列與組合是常用的數學方法。先給乙個正整數 1 n 10 例如n 3,所有組合,並且按字典序輸出 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 輸入 輸入乙個整數n 1 n 10 輸出 輸出所有全排列 每個全排列一行,相鄰兩個數用空格隔開 最後乙個數後面沒有空格 ...
Codeup 問題 B 採藥
辰辰是個天資聰穎的孩子,他的夢想是成為世界上最偉大的醫師。為此,他想拜附近最有威望的醫師為師。醫師為了判斷他的資質,給他出了乙個難題。醫 師把他帶到乙個到處都是草藥的山洞裡對他說 孩子,這個山洞裡有一些不同的草藥,採每一株都需要一些時間,每一株也有它自身的價值。我會給你一段時間,在這段時間裡,你可以...