递归
#include #include using namespace std; void fun( string a, string b){ if(a.size() == 0){ cout << b << endl; return ; } for(int i = 0; i < a.size(); i++){ b.push_back(a[i]); fun(a.substr(0, i) + a.substr(i+1, a.size()), b); b.pop_back(); } } int main() { string a,b; while(cin >> a){ fun(a,b); } return 0; }