#include <iostream> #include<unordered_map> using namespace std; int n; string str; unordered_map<char, bool>visit; void dfs(int pos, string res) { if (pos == n) { cout << res << endl; return; } for (int i = 0; i < str.size(); i++) { if (visit[str[i]] == false) { visit[str[i]] = true; dfs(pos + 1, res + str[i]); visit[str[i]] = false; } } } int main() { cin >> str; n = str.size(); string res; dfs(0, res); } // 64 位输出请用 printf("%lld")