首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

(结合数学3.1.1.1)POJ 1146 ID Codes(字典序法)

2013-10-10 
(组合数学3.1.1.1)POJ 1146 ID Codes(字典序法)/* * POJ_1146.cpp * *Created on: 2013年10月8日 *Author:

(组合数学3.1.1.1)POJ 1146 ID Codes(字典序法)

/* * POJ_1146.cpp * *  Created on: 2013年10月8日 *      Author: Administrator */#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>using namespace std;char s[60];int l;bool get(){int i = l - 1;int j;while(i > 0 && s[i-1] >= s[i]){i--;}if(!i){return false;}int mp = i;for(j = i + 1 ; j < l ; ++j){if(s[i-1] >= s[j]){continue;}if(s[j] < s[mp]){mp = j;}}swap(s[mp],s[i-1]);sort(s+i,s+l);return 1;}int main(){while(scanf("%s",&s)!=EOF,s[0] !='#'){l = strlen(s);if(get()){printf("%s\n",s);}else{printf("No Successor\n");}}}

热点排行