题目描述
亮亮深吸一口气,小心地将盒子打开,里面是一张地图,地图上除了一些奇怪的字母以外没有任何路线信息,这可让亮亮犯了愁,这些字母代表了什么意思呢? 亮亮绞尽脑汁也想不出什么思路,突然,亮亮眼前一亮,“我可以把这些字母所有的排列方式全部写出来,一定可以找到答案!” 于是,亮亮兴奋的开始寻找字母里的秘密。“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; }