UVA 146 ID Codes
2016-07-26 21:08
393 查看
UVA-146
题意:给出一个字符串,求它按字典序的下一个串。解题思路:从后往前找到第一个不满足s[i] >= s[i+1]的位置,用i+1到end中比s[i]大的中最小的那个替换s[i],剩下的i+1到end的字母从小到大排序。
/************************************************************************* > File Name: UVA-146.cpp > Author: Narsh > > Created Time: 2016年07月26日 星期二 15时33分08秒 ************************************************************************/ #include <iostream> #include <algorithm> #include <cstdio> #include <cstring> using namespace std; bool cmp(char a,char b) { return a<b; } string s; int main() { while (true) { cin>>s; if (s[0] == '#') break; int l=s.length(),end; end=l; s=" "+s; while ( l > 1 && s[l] <= s[l-1]) l--; if (l <= 1) { printf("No Successor\n"); continue; } for (int i = end; i >= l; i--) if (s[i] > s[l-1]) { char k=s[i]; s[i]=s[l-1]; s[l-1]=k; break; } sort(&s[0]+l,&s[0]+1+end,cmp); for (int i = 1; i <= end; i++) printf("%c",s[i]); printf("\n"); } }
相关文章推荐
- 正则使用的几种形态
- hd 2141 Can you find it?(二分)
- 后web时代,你的网站更新了https了吗?
- abp记录1
- abp记录1
- KNN算法
- HDU1502 Regular Words(DP+大数模拟)
- Eclipse Java注释模板设置详解
- 严重: Field 'id' doesn't have a default value Exception in thread "main" org.hibernate.exception.Gener
- 多媒体-FFMPEG-Anroid-采集-PCM-MP3
- POJ 2947 Widget Factory <高斯消元同余线性方程>
- Spring Boot 属性配置和使用
- STL之优先队列
- Spring-Spring框架基本配置文件解析
- UVA 11111-Generalized Matrioshkas
- Android 内存溢出解决方案(OOM)
- 【序列莫队+树状数组】BZOJ3289-Mato的文件管理
- Android TV gridview 的按键事件响应巧变 && 事件分发机制
- ajax知识点总结
- 手把手教你连接mysql数据库