无耻地使用了STL,BS自己。
关于next_permutation的用法:http://www.slyar.com/blog/stl_next_permutation.html
CODE:
#include <iostream>
#include <algorithm>
#include <cstdlib>
#include <cstdio>
#include <cstring>
using namespace std;
int a[1001];
char s[1001];
int main()
{
while(scanf("%s", s) && strcmp("#", s))
{
int n = strlen(s);
for(int i = 0; i < n; i++)
a[i] = s[i]-'A';
if(!next_permutation(a, a+n))
printf("No Successor\n");
else
{
for(int i = 0; i < n; i++)
printf("%c", a[i]+'A');
printf("\n");
}
}
return 0;
}
#include <algorithm>
#include <cstdlib>
#include <cstdio>
#include <cstring>
using namespace std;
int a[1001];
char s[1001];
int main()
{
while(scanf("%s", s) && strcmp("#", s))
{
int n = strlen(s);
for(int i = 0; i < n; i++)
a[i] = s[i]-'A';
if(!next_permutation(a, a+n))
printf("No Successor\n");
else
{
for(int i = 0; i < n; i++)
printf("%c", a[i]+'A');
printf("\n");
}
}
return 0;
}