#include #include #include #include #include #include #include #include #include #include using namespace std; void OSA(string s) { string a; sort(s.begin(), s.end()); int i, j; for (i = 0; i < (1 << s.size()); i++) { a.clear(); for (j = 0; j < s.size(); j++) { if (i & (1 << j)) a.push_back(s[j]); } cout << a << endl; } } int main(int argc, char **argv) { if (argc != 2) { fprintf(stderr, "usage: q2 string\n"); exit(1); } OSA(argv[1]); return 0; }