#include <iostream> #include<string> #include<vector> using namespace std; vector<string>res; //保存结果 void dfs(string s,string cur){ if (s=="") res.push_back(cur); for(int i=0;i<s.size();++i){ char tmp=s[i]; s.erase(i,1); //删去第i个位置,dfs dfs(s,cur+tmp); s.insert(i,1,tmp); //回溯,加回字符 } } int main() { string s; while(cin>>s){ res={}; dfs(s,""); for(string x:res) cout<<x<<endl; } }