⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1191.cpp

📁 这是哈尔滨工业大学acmOJ的源代码
💻 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 + -