动态规划题目,若第i个字符能够和前一个字符构成有意义的密码,即10-26,则这个字符前(包括这个字符)的子字符串可以构成的可能解有dp[i] =dp[i-1]+dp[i-2]个,因为此时:这个字符可以单独作为一个密码存在,此时整个子字符串有dp[i-1]个解;又或者是和前一个字符作为一个密码存在,此时整个字符串有dp[i-2]个解。若第i个字符无法和其前一个字符构成有意义的密码,那么这个字符只能作为一个单独的密码存在,此时整个子字符串有dp[i-1]个解。若当前字符是0,由于密码的正确性,其前一个字符必定是0或者1,此时整个子字符串有dp[i-2]个解。另外数组要开得大点,因为题目中没有说明字符串最大有多大,也可以只设3个变量来解决这个问题,毕竟这个动态转移方程和斐波纳兹函数很像。

Run Time: 0sec

Run Memory: 312KB

Code length: 651Bytes

SubmitTime: 2012-02-0121:54:13

// Problem#: 1001
// Submission#: 1204017
// The source code is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License
// URI: http://creativecommons.org/licenses/by-nc-sa/3.0/
// All Copyright reserved by Informatic Lab of Sun Yat-sen University
#include <iostream>
#include <string>
using namespace std;int main()
{int i;string s;int num[ 3 ];while ( cin >> s && s != "0" ) {num[ 0 ] = num[ 1 ] = num[ 2 ] = 1;for ( i = 1; i < s.size(); i++ ) {num[ 0 ] = num[ 1 ];num[ 1 ] = num[ 2 ];if ( s[ i ] == '0' )num[ 2 ] = num[ 0 ];else if ( ( s[ i - 1 ] == '1' && s[ i ] <= '9' ) || ( s[ i - 1 ] == '2' && s[ i ] <= '6' ) )num[ 2 ] = num[ 0 ] + num[ 1 ];elsenum[ 2 ] = num[ 1 ];}cout << num[ 2 ] << endl;}return 0;}                                 

Sicily 1001. Alphacode相关推荐

  1. 【艾米莉娅】Sicily:1001. Alphacode 代码分享

    Code in C Language for SOJ 1001. Alphacode (代码没啥注释是因为后天要考四级却还没有复习) 事情是这样的(:з)∠)_ 某日突然知道中大还有类似于POJ的SO ...

  2. Sicily 1001. 叠罗汉

    Description 最近叠罗汉成为一种时尚运动,于是有了叠罗汉社-- 或许有人比较out,不清楚这种运动的规则,简单来说:就是人叠人,第一个人站在地面,第二个人站在第一个人的肩膀,第三个人站在第二 ...

  3. sicily题目分类

    sicily题目分类 1. 编程入门 2. 数据结构 3. 字符串 4. 排序 5. 图遍历 6. 图算法 7. 搜索:剪枝,启发式搜索 8. 动态规划/递推 9. 分治/递归 10. 贪心 11. ...

  4. [sicily]部分题目分类

    sicily题目分类 1. 编程入门 2. 数据结构 3. 字符串 4. 排序 5. 图遍历 6. 图算法 7. 搜索:剪枝,启发式搜索 8. 动态规划/递推 9. 分治/递归 10. 贪心 11. ...

  5. Sicily 题目分类

    依照自己水平挑着做→ →~~ 1. 编程入门 2. 数据结构 3. 字符串 4. 排序 5. 图遍历 6. 图算法 7. 搜索:剪枝,启发式搜索 8. 动态规划/递推 9. 分治/递归 10. 贪心 ...

  6. Soj题目分类 python代码)

    正值期末复习,刷点soj放松下 但想看看能不能在找点关于数据结构的题目来做一下. 在网上看到有不少人上传过那些关于部分SOJ题目的描述,但是说实话有些乱 不过我看到有个网页中包含的一个类似文档的东西, ...

  7. 初学者acm的练习题指南

    上机练习题参考题 忘了在哪找的啦~~希望对大家有帮助呦 <!--[if !supportLists]-->1.    <!--[endif]-->Programming Bas ...

  8. 编程题目分类(剪辑)

    1. 编程入门 2. 数据结构 3. 字符串 4. 排序 5. 图遍历 6. 图算法 7. 搜索:剪枝,启发式搜索 8. 动态规划/递推 9. 分治/递归 10. 贪心 11. 模拟 12. 算术与代 ...

  9. [sicily]【1001】 会议安排(田忌赛马类贪心)

    题干: N个会议要同时举行,参会人数分别为A[0], A[1], ...,A[N-1]. 现有M个会议室,会议室可容纳人数分别为B[0], B[1], ...,B[M-1]. 当A[i]<=B[ ...

最新文章

  1. iframe怎么用_怎么样减少无效URL的爬行和索引
  2. python中xpath用法_Python中的xpath基础使用
  3. linux centos-6.5,Linux(CentOS 6.5)安装 mysql
  4. OrderOnline——设计概述
  5. 加快android编译速度
  6. MybatisPlus报错: org.apache.velocity.context.Context(已解决)
  7. 【数据结构笔记11】二叉搜索树,动态查找,删除操作
  8. OpenCasCade将鼠标点映射到OCC三维视图中的三维点(鼠标点转换为OCC三维坐标)
  9. 零基础如何入门数学建模?
  10. 网络管理员考试试题分类精解电子书
  11. 四大汽车总线:LIN、CAN、FlexRay、MOST简述
  12. 聚石塔,云鼎,多多云-----有一种坑叫盲打
  13. Laravel 使用 seeder 使用要点
  14. snmp-cmds:最简单的调用 Net-SNMP 二进制文件作为子进程的库可移植python SNMP 库
  15. 笔记本电脑系统迁移0xc0000225
  16. 局部全局变量、匿名函数、递行函数
  17. 关于 FullNat 模式的 Toa 实现原理【转】
  18. Python可视化库matplotlib.pyplot里contour与contourf的区别
  19. Chatgpt聊天机器人系统开发
  20. 主流的音视频SDK调研

热门文章

  1. 使用git提交代码到仓库报错总结
  2. MySQL数据库教程天花板,mysql安装到mysql高级,强|硬
  3. Python 自动化办公-玩转 Word
  4. java 四舍六入五成双_显示格式的四舍六入五成双
  5. MySQL的自身防御机制_自我防御机制
  6. 小眼睛适合大框还是小框眼镜_【图】小眼睛适合什么眼镜框 这个禁忌千万不要犯_小眼睛_伊秀服饰网|yxlady.com...
  7. HTML5 之 Frame Frameset Noframes 标签
  8. 银河麒麟加完全自主的龙芯指令集,组合渡劫能否成功
  9. 对混淆矩阵、F1-Score
  10. 爪哇国新游记之二十一----快算24