UVA 146 ID Codes
求用这些字母的下一个排列是什么。直接使用C++ STL库里面的next_permutation
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; int main() { char s[1000]; while (~scanf("%s", s)) { if (strcmp(s, "#") == 0) break; int y = strlen(s), i; for (i = 0; i < y - 1; i++) if (s[i] < s[i + 1]) break; if (i == y - 1) printf("No Successor\n"); else { next_permutation(s, s + y); printf("%s\n", s); } } return 0; }