最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

1248 -- 【回溯練習(xí)】無重復(fù)元素的全排列

2023-05-28 18:41 作者:李臺(tái)賈高速  | 我要投稿
#include <iostream>
#include <vector>
#include <algorithm>
?
void generatePermutations(std::vector<char>& letters, std::vector<bool>& used, std::vector<char>& permutation, int n) {
    if (permutation.size() == n) {
        // 輸出當(dāng)前的排列
        static int count = 1;
        std::cout << count++ << ":";
        for (char letter : permutation) {
            std::cout << letter;
        }
        std::cout << std::endl;
        return;
    }
?
    for (int i = 0; i < n; ++i) {
        if (!used[i]) {
            used[i] = true;
            permutation.push_back(letters[i]);
?
            generatePermutations(letters, used, permutation, n);
?
            used[i] = false;
            permutation.pop_back();
        }
    }
}
?
void generateUniquePermutations(const std::string& str) {
    int n = str.length();
    std::vector<char> letters(str.begin(), str.end());
    std::sort(letters.begin(), letters.end()); // 按照字典順序排序
    std::vector<bool> used(n, false);
    std::vector<char> permutation;
?
    generatePermutations(letters, used, permutation, n);
}
?
int main() {
    std::string str;
    std::cin >> str;
?
    generateUniquePermutations(str);
?
    return 0;
}


#include <iostream>
#include <vector>
#include <algorithm>
?
void generatePermutations(std::vector<char>& letters, std::vector<bool>& used, std::vector<char>& permutation, int n) {
    if (permutation.size() == n) {
        // 輸出當(dāng)前的排列
        static int count = 1;
        std::cout << count++ << ":";
        for (char letter : permutation) {
            std::cout << letter;
        }
        std::cout << std::endl;
        return;
    }
?
    for (int i = 0; i < n; ++i) {
        if (!used[i]) {
            used[i] = true;
            permutation.push_back(letters[i]);
?
            generatePermutations(letters, used, permutation, n);
?
            used[i] = false;
            permutation.pop_back();
        }
    }
}
?
void generateUniquePermutations(const std::string& str) {
    int n = str.length();
    std::vector<char> letters(str.begin(), str.end());
    std::sort(letters.begin(), letters.end()); // 按照字典順序排序
    std::vector<bool> used(n, false);
    std::vector<char> permutation;
?
    generatePermutations(letters, used, permutation, n);
}
?
int main() {
    std::string str;
    std::cin >> str;
?
    generateUniquePermutations(str);
?
    return 0;
}



1248 -- 【回溯練習(xí)】無重復(fù)元素的全排列的評論 (共 條)

分享到微博請遵守國家法律
安徽省| 阳西县| 元阳县| 长寿区| 汝阳县| 花莲县| 石棉县| 乡城县| 邻水| 阿拉善左旗| 盱眙县| 金山区| 东海县| 木兰县| 唐山市| 阿拉善盟| 综艺| 宾川县| 九龙县| 巴东县| 枞阳县| 金平| 盐亭县| 潜江市| 左贡县| 建始县| 渭南市| 日照市| 大庆市| 吉木乃县| 平武县| 阿勒泰市| 平和县| 沙雅县| 阳朔县| 霍州市| 镇远县| 五大连池市| 丰原市| 长乐市| 得荣县|