UVA 146 ID Codes

求用这些字母的下一个排列是什么。直接使用C++ STL库里面的next_permutation

#include<cstdio>

#include<cstring>

#include<algorithm>

using namespace std;

int main()

{

    char s[1000];

    while (~scanf("%s", s))

    {

        if (strcmp(s, "#") == 0) break;

        int y = strlen(s), i;

        for (i = 0; i < y - 1; i++) if (s[i] < s[i + 1]) break;

        if (i == y - 1) printf("No Successor\n");

        else

        {

            next_permutation(s, s + y);

            printf("%s\n", s);

        }

    }

    return 0;

}

 

你可能感兴趣的:(code)