基本思想:
无;
关键点:
无;
#include<iostream> #include<vector> #include<string> using namespace std; bool vis[26]; void charge(string s,int cnt) { if (cnt == 0) { cout << s << endl; return; } for (int i = 0; i < 26; i++) { if (vis[i]) { vis[i] = false; //选中; charge(s + char(‘a‘ + i), cnt - 1); vis[i] = true; } } } int main() { string s; while (cin >> s) { fill(vis, vis + 26, false); for (int i = 0; i < s.size(); i++) vis[s[i] - ‘a‘] = true; charge("", s.size()); cout << endl; } }
原文:https://www.cnblogs.com/songlinxuan/p/12490280.html