uva 146 ID Codes

来源:互联网 发布:非洲网络用户 编辑:程序博客网 时间:2024/04/30 00:50

题意大致是说,给你一个排列,如果是最大排列,那么输出“No Successor”,否则输出比他大的下一个排列。

这题我想说的是要会使用C++的STL中提供的库函数next_permutation(字符串首地址,字符串尾地址),返回一个布尔值,如果还存在比他大的下一个排列,返回真,同时字符串更改为下一个排列;否则返回假,同时字符串变为字典序最小的那个排列。在algorithm头文件中。

#include <iostream>#include<stdio.h>#include<algorithm>#include<cstring>using namespace std;char s[100];char temp[100];int main(){    while(true)    {        scanf("%s",s);        if(s[0] == '#') break;        if(next_permutation(s,s + strlen(s)))        printf("%s\n",s);        else        printf("No Successor\n");    }    return 0;}




0 0
原创粉丝点击