// UVa 195 - Anagram #include <algorithm> #include <string> #include <iostream> using namespace std; bool comp(char a, char b) { int aa, bb; if (0 <= a - 'A' && a - 'A' <= 25) aa = (a - 'A') * 2; else aa = (a - 'a') * 2 + 1; if (0 <= b - 'A' && b - 'A' <= 25) bb = (b - 'A') * 2; else bb = (b - 'a') * 2 + 1; return aa < bb; } int main() { int n; cin >> n; for (; n > 0; n--) { string word; cin >> word; sort(word.begin(), word.end(), comp); do { cout << word << endl; } while (next_permutation(word.begin(), word.end(), comp)); } return 0; }
No comments:
Post a Comment