楚楚街——解密

    xiaoxiao2021-10-30  45

    题目描述

    亮亮深吸一口气,小心地将盒子打开,里面是一张地图,地图上除了一些奇怪的字母以外没有任何路线信息,这可让亮亮犯了愁,这些字母代表了什么意思呢? 亮亮绞尽脑汁也想不出什么思路,突然,亮亮眼前一亮,“我可以把这些字母所有的排列方式全部写出来,一定可以找到答案!” 于是,亮亮兴奋的开始寻找字母里的秘密。
    输入描述:
    每组数据输入只有一行,是一个由不同的大写字母组成的字符串,已知字符串的长度在1到9之间,我们假设对于大写字母有'A' < 'B' < ... < 'Y' < 'Z'。
    输出描述:
    输出这个字符串的所有排列方式,每行一个排列,要求字母序比较小的排列在前面。
    输入例子:
    WHL
    输出例子:
    HLW HWL LHW LWH WHL WLH

    “test.cpp”

    #include <iostream> using namespace std; #include<string> #include <algorithm> #include<vector> void DFS(const string& str,int len,vector<int>& v,vector<char>& arr) { if (len == str.size()) { for (int i = 0;i < len;i++) { cout<<arr[i]; } cout<<endl; return; } for (int i = 0;i < str.size();i++) { if (v[i] == 0) { arr[len] = str[i]; v[i] = 1; DFS(str,len+1,v,arr); v[i] = 0; } } } void test() { string str; cin>>str; sort(str.begin(),str.end()); vector<int> boolarr(str.size()); vector<char> arr(str.size()); DFS(str,0,boolarr,arr); } int main() { test(); system("pause"); return 0; }

    转载请注明原文地址: https://ju.6miu.com/read-677891.html

    最新回复(0)