这题就是就一个字符串的下一个排列。
用好STL,就会是问题变得简单。
next_permutation 求下一个排列。
pre_permutation 求上一个排列。
#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
char c[100];
while(cin>>c)
{
if(c[0]=='#') return 0;
if(next_permutation(c,c+strlen(c)))
printf("%s\n",c);
else printf("No Successor\n");
}
return 0;
}