这题就是求字典序的下一个排列 用STL里的next_permutation函数就能轻松解决
处理过这种问题 在加上sort函数 很巧妙的解决了问题
#include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
char yl[55],as[55];
while(~scanf("%s",yl)&&strcmp(yl,"#")!=0)
{
int len=strlen(yl),n=0;
strcpy(as,yl);
sort(as,as+len);
next_permutation(yl,yl+len);
if(strcmp(yl,as)==0)
cout<<"No Successor"<<endl;
else
cout<<yl<<endl;
}
return 0;
}