[uva] 146 - ID Codes
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=82
老套路了, dfs + 剪枝. 我超时了好几次啊 失误,失误,忘记剪枝了.
1 // 2 // main.cpp 3 // uva146 4 // 5 // Created by ello on 12/3/13. 6 // Copyright (c) 2013 NextLife. All rights reserved. 7 // 8 9 #include <iostream> 10 #include <string> 11 #include <map> 12 #include <algorithm> 13 using namespace std; 14 15 string str; 16 string str2; 17 map<char, int> maps; 18 19 bool dfs(int cur) { 20 if (cur == str2.size()) { 21 if (str2 <= str) { 22 return false; 23 } 24 return true; 25 } 26 map<char, int>::iterator it; 27 for (it = maps.begin(); it != maps.end(); it++) { 28 long num = count(str2.begin(), str2.begin() + cur, (*it).first); 29 if ((*it).second > num) { 30 str2[cur] = (*it).first; 31 // cout<<cur<<','<<str2<<endl; 32 if (str2.substr(0, cur + 1) < str.substr(0, cur + 1) || !dfs(cur + 1)) { 33 continue; 34 } else { 35 return true; 36 } 37 } 38 } 39 return false; 40 } 41 42 int main(int argc, const char * argv[]) 43 { 44 while (getline(cin, str)) { 45 46 if (str == "#") { 47 break; 48 } 49 maps.clear(); 50 for (unsigned int i = 0; i < str.size(); ++i) { 51 maps[str[i]] += 1; 52 } 53 str2 = str; 54 bool flag = false; 55 for (unsigned int i = 1; i < str2.size(); ++i) { 56 if (str2[i] > str2[i - 1]) { 57 flag = true; 58 break; 59 } 60 } 61 if (flag && dfs(0)) { 62 cout<<str2<<endl; 63 } else { 64 cout<<"No Successor"<<endl; 65 } 66 } 67 return 0; 68 }
转载于:https://www.cnblogs.com/NextLife/p/3460478.html
[uva] 146 - ID Codes相关推荐
- Brute Force STL --- UVA 146 ID Codes
ID Codes Problem's Link:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&a ...
- UVA 146 ID Codes
无耻地使用了STL,BS自己. 关于next_permutation的用法:http://www.slyar.com/blog/stl_next_permutation.html CODE: #inc ...
- π-Algorithmist分类题目(3)
原题网站:Algorithmist,http://www.algorithmist.com/index.php/Main_Page π-Algorithmist分类题目(3) Probability ...
- π-Algorithmist分类题目(1)
原题网站:Algorithmist,http://www.algorithmist.com/index.php/Main_Page π-Algorithmist分类题目(1) Sorting UVAL ...
- 提取了下刘汝佳推荐的题号...
今天闲来没事上uva oj提取了下刘汝佳推荐的acm题号,原始数据如下: Volume 0. Getting Started 10055 - Hashmat the Brave Warrior ...
- 初学者acm的练习题指南
上机练习题参考题 忘了在哪找的啦~~希望对大家有帮助呦 <!--[if !supportLists]-->1. <!--[endif]-->Programming Bas ...
- UVa Online Judge 工具網站
UVa Online Judge 工具網站 转自http://www.csie.ntnu.edu.tw/~u91029/uva.html Lucky貓的ACM園地,Lucky貓的 ACM 中譯題目 M ...
- ICPC训练联盟2021寒假冬令营(9)_2021.01.29_笔记
试题链接 点我进入代码提交OJ 学习笔记 - 数论与组合分析入门 数论的编程实验 • 3.1素数运算的实验范例 • 3.2求解不定方程和同余方程的实验范例 • 3.3 特殊的同余式 • 3.4 积性函 ...
- ACM 网址和一些建议
USACO http://ace.delos.com/usacogate 美国著名在线题库,专门为信息学竞赛选手准备 TJU http://acm.tongji.edu.cn/ 同济大学在线题库,唯一 ...
最新文章
- kotlin定义变量
- AndroidStudio 解决Android方法数超过65535的问题
- solver.prototxt参数说明(一)
- 双指针 - 四数之和
- Android Studio缓存文件夹配置
- CentOS 安装过程中格式化 SATA 硬盘巨慢的问题
- 替代JavaOne 2013
- Qt:Qt实现Winsock网络编程—TCP服务端和客户端通信(多线程)
- codeforces C. Inna and Huge Candy Matrix 解题报告
- 设计模式笔记八:过滤器模式
- 安卓mqtt调试工具_MOTT工具调试阿里云物联网平台
- SpringBoot2.1.5(33)---SpringBoot整合 Thymeleaf 模板引擎
- 计算复杂度:P、NP、NP 完备
- ubuntu16.04装机1:安装NVIDIA显卡驱动(下载.run包方式)
- 在构造函数中释放对象本身
- Matlab2017b配置C++/C/Fortan编译器的问题(已解决)
- 斐讯N1救砖指南!值得收藏
- 服务器在线测速系统源码
- 3DLC系列之:自动匹配颜色
- MySQL 系统自带的数据库有哪些?每个数据库的作用是什么?
热门文章
- 内存管理2(主讲MRR)
- 调试器工作原理--CPU软件断点/硬件断点/单步执行标识
- Spark源码分析之Checkpoint机制
- scala基础之控制结构
- (85)Vivado 多周期路径约束情况
- boost 单io_serverce 异步多线程资源保护代码
- 基于ARM IP的看门狗设计与功能验证
- java线程等待_java 中线程等待与通知的实现
- Pentium的指令系统(1)——Pentium的寻址方式
- DM8168 --交叉编译ARM版 Qt (qt-everywhere-opensource-src-4.8.4)