动态规划题目,若第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. 零基础学汇编 --小甲鱼
  2. MPB:中科院城环所杨军组-​​​基于DNA宏条形码的水体浮游细菌群落测序建库方法...
  3. Quzrtz 使用oracle集群无法正常启动问题解决
  4. (转)虚函数和纯虚函数区别
  5. bloom filter 的Java 版
  6. ibm nvidia 超级计算机,IBM,Nvidia和美国能源部组成一个超级计算机超级团队
  7. 指标公式c语言源码下载,自用60分钟指标源码
  8. 企业级实际性能测试案例与经验分享
  9. 1.实验:删除CentOS6下/boot/vmlinuz文件修复之
  10. yarn的安装和使用
  11. Android ANR:executing service com.xxx.yyy/cn.jpush.android.service.PushService
  12. 《从0开始做运营[张亮]》——读书笔记
  13. JAVA对接飞猪旅行_飞猪 - 开放平台
  14. 读书笔记: 与爱因斯坦月球漫步-记忆术
  15. KendoUI系列:switch 开关
  16. 这是您正在找的大数据、人工智能实战培训课程!
  17. FinalShell使用教程:SSH链接Linux服务器
  18. oracle中的trim函数使用介绍
  19. python中的map什么意思啊_python中的map怎么使用(方法详解)
  20. 年会活跃微信群小游戏有哪些?塔防小游戏经典玩法讲解

热门文章

  1. Sulley安装手记
  2. 区块链系统有服务器吗,区块链需要服务器吗
  3. 界面色彩渐变效果的实现
  4. 计算机等级考试 12月,2020年12月计算机等级考试成绩什么时候公布
  5. 计算机系统相关(嵌入式)
  6. 金融跨计算机考研,计算机跨金融——我的二战考研复习计划给你们
  7. html5源码笔记(三)【爱创课堂专业前端培训】
  8. 金融大数据信用评分模型解析
  9. excel的合并和分开and转为在线文档
  10. pyalgotrade源码分析4--PyAlgoTrade统计指标