2012年9月13日

UVa 195 - Anagram


#include <cstdio>
#include <algorithm>

int main() {
  int n;
  scanf("%d", &n);
  getchar();
  while (n--) {
    char s[1000];
    gets(s);
    int l, nS[1000];
    for (l = 0; s[l]; l++)
      if (s[l] >= 'a') nS[l] = (s[l] - 'a') * 2 + 1;
      else nS[l] = (s[l] - 'A') * 2;
    std::sort(nS, nS + l);
    do {
      for (l = 0; s[l]; l++)
        if (nS[l] % 2 == 0) putchar(nS[l] / 2 + 'A');
        else putchar(nS[l] / 2 + 'a');
      puts("");
    } while (std::next_permutation(nS, nS + l));
  }
  return 0;
}

沒有留言:

張貼留言