#include <stdio.h>
#include <string.h>
int cmp(const void *a, const void *b)
{
return *(char *)a - *(char *)b;
}
int main()
{
char str[55], min;
int i, j, n;
while (scanf("%s", str), strcmp(str, "#")) {
i = strlen(str)-1;
while (--i >= 0) {
min = 127;
for (j = i+1; str[j]; j++) {
if (str[j] > str[i] && str[j] < min) {
min = str[j];
n = j;
}
}
if (min != 127) {
str[n] = str[i];
str[i] = min;
qsort(&str[i+1], strlen(&str[i+1]), sizeof(char), cmp);
printf("%s\n", str);
break;
}
}
if (i == -1)
printf("No Successor\n");
}
}
POJ-1146
最新推荐文章于 2012-05-18 01:27:49 发布