基本思想:
无;
关键点:
无;
#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