📄 1191.cpp
字号:
/* This Code is Submitted by wywcgs for Problem 1191 on 2005-03-28 at 15:18:35 */
#include <stdio.h>
#include <string.h>
int main()
{
char id[60];
int length, efflen, sta[26];
int i, j, k, flag;
while(gets(id) != NULL){
if(!strcmp(id, "#")){
return 0;
}else{
for(i = 0; i < 26; i++){
sta[i] = 0;
}
length = strlen(id);
sta[id[length-1]-'a']++;
flag = 0;
for(efflen = length-1; efflen > 0; efflen--){
sta[id[efflen-1]-'a']++;
if(id[efflen] > id[efflen-1]){
flag = 1;
efflen--;
break;
}
}
if(flag == 0){
printf("No Successor\n");
}else{
for(i = id[efflen]-'a'+1; i < 26; i++){
if(sta[i] != 0){
id[efflen] = i + 'a';
sta[i]--;
efflen++;
break;
}
}
for(j = 0; j < 26; j++){
for(k = 0; k < sta[j]; k++){
id[efflen] = j + 'a';
efflen++;
}
}
printf("%s\n", id);
}
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -