歷年上機題 全排列

2021-10-04 21:48:55 字數 907 閱讀 1692

給定乙個由不同的小寫字母組成的字串,輸出這個字串的所有全排列。 我們假設對於小寫字母有'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成立。

每組樣例輸出結束後要再輸出乙個回車。

示例1

abc
abc

acbbac

bcacab

cba

思路:非常經典的dfs題目,需要理解遞迴的過程,合理的利用回溯即可。我覺得這屬於基本功題。

#include using namespace std;

vectorans;

mapmp;

bool bit[10];

int n;

void dfs(int k,string tmp)

for(int i=0;i>s;

ans.clear();

mp.clear();

//sort(vec.begin(),vec.end());

for(int i=0;in= s.size();

for(int i=0;isort(ans.begin(),ans.end());

for(auto t:ans)

cout

}

leetcode刷題 全排列

給定乙個不含重複數字的陣列 nums 返回其 所有可能的全排列 你可以 按任意順序 返回答案。輸入 nums 1,2,3 輸出 1,2,3 1,3,2 2,1,3 2,3,1 3,1,2 3,2,1 這個問題可以看作有 n 個排列成一行的空格,我們需要從左往右依此填入題目給定的 n 個數,每個數只能...

計算機歷年考研複試上機題 成績排序

這道題他的題目描述有一點模糊,他的測試用例上面在對於相同的值排序應該排序前後順序不變。這時我們就要用到c sort類函式stable sort 題目描述 題目 輸入任意 使用者,成績 序列,可以獲得成績從高到低或從低到高的排列,相同成績 都按先錄入排列在前的規則處理。例示 jack 70 peter...

計算機歷年考研複試上機題 反序輸出

偶遇清華大學的一道水題 題目傳送門 題目描述 輸入任意4個字元 如 abcd 並按反序輸出 如 dcba 輸入描述 題目可能包含多組用例,每組用例佔一行,包含4個任意的字元。輸出描述 對於每組輸入,請輸出一行反序後的字串。具體可見樣例。示例1 輸入 upin cvyj wjpw cxoa 輸出 ni...