windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道,
在A和B之间,包括A和B,总共有多少个windy数?

Input

  包含两个整数,A B。

Output

  一个整数

Sample Input

【输入样例一】
1 10
【输入样例二】
25 50

Sample Output

【输出样例一】
9
【输出样例二】
20

题目大概:

找出两个数字之间,不含前导零且相邻两个数字只差至少为2的整数的个数。

思路:

基础数位dp  加上前导零,多加一个状态;

代码:

#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>
using namespace std;
int a[30];
int dp[30][20];int  sove(int pos,int qian,int limit,int ll)
{if(pos==-1)return !ll;if(!limit&&dp[pos][qian]!=-1&&!ll)return dp[pos][qian];int  sum=0;int end=limit?a[pos]:9;for(int i=0;i<=end;i++){   int gg=fabs(qian-i);if(ll)sum+=sove(pos-1,i,limit&&(i==a[pos]),ll&&i==0);else if(gg>=2)sum+=sove(pos-1,i,limit&&(i==a[pos]),ll);}if(!limit&&!ll)dp[pos][qian]=sum;return sum;
}int go(int x)
{int pos=0;while(x){a[pos++]=x%10;x/=10;}return sove(pos-1,0,1,1);
}
int main()
{int m,n;memset(dp,-1,sizeof(dp));scanf("%d%d",&m,&n);printf("%d\n",go(n)-go(m-1));return 0;
}

M - windy数相关推荐

  1. bzoj-1026 windy数

    题意: 定义一种windy数.这个数在十进制下相邻两个数字之差至少为2的正整数: 求区间[A,B]的这样的数的个数: n<=10^9: 题解: 数位乱搞. 首先求区间[A.B]等价于求[1,A- ...

  2. bzoj 1026 windy数

    题目大意: 定义一种windy数:不含前导零且相邻两个数字之差至少为2的正整数被称为windy数 求在A和B之间,包括A和B,总共有多少个windy数 思路: 一眼数位dp 具体见注释 1 #incl ...

  3. luoguP2657 [SCOI2009]windy数

    和诸位巨佬不同,蒟蒻如我,只能想到怎么统计不满足windy数条件的数 就是个爆搜 定义c[i][j][k]表示第i位且前一位为j,k表示是否满足条件 1 #include<bits/stdc++ ...

  4. bzoj 1026: [SCOI2009]windy数 数位DP算法笔记

    数位DP入门题之一 也是我所做的第一道数位DP题目 (其实很久以前就遇到过 感觉实现太难没写) 数位DP题目貌似多半是问从L到R内有多少个数满足某些限制条件 只要出题人不刻意去卡多一个$log$什么的 ...

  5. uestc 250 windy数(数位dp)

    题意:不含前导零且相邻两个数字之差至少为2的正整数被称为windy数. windy想知道,在A和B之间,包括A和B,总共有多少个windy数? 思路:数位dp #include<iostream ...

  6. 【bzoj1026】[SCOI2009]windy数 数位dp

    题目描述 windy定义了一种windy数.不含前导零且相邻两个数字之差至少为2的正整数被称为windy数. windy想知道,在A和B之间,包括A和B,总共有多少个windy数? 输入 包含两个整数 ...

  7. BZOJ1026 [SCOI2009]windy数 数位dp

    欢迎访问~原文出处--博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1026 题目概括 求区间[A,B]中有多少数满足下面的条件. 条件:该数相邻两位之差不小于2. 题解 ...

  8. 1026: [SCOI2009]windy数 (按位DP)

    定义windy数:相邻数字的差至少是2的数,例如10不是windy数,而13是windy数.求给定区间中有多少windy数.区间端点范围为 [1, 2000000000] dfs写法 #include ...

  9. BZOJ 1026 [SCOI2009]windy数

    1026: [SCOI2009]windy数 Description windy定义了一种windy数.不含前导零且相邻两个数字之差至少为2的正整数被称为windy数. windy想知道,在A和B之间 ...

  10. [BZOJ1026] [SCOI2009] windy数 (数位dp)

    Description windy定义了一种windy数.不含前导零且相邻两个数字之差至少为2的正整数被称为windy数. windy想知道,在A和B之间,包括A和B,总共有多少个windy数? In ...

最新文章

  1. java 约瑟夫问题 链表_【链表问题】环形单链表约瑟夫问题
  2. 字符转char android,android – 如何在kotlin语言中将char转换为ascii值
  3. 操作系统原理:进程与线程、进程生命周期、线程的类型
  4. 文件上传案例的服务器端
  5. 如何设计一个高可用、高并发秒杀系统
  6. Delphi使用Indy、ICS组件读取网页
  7. 3.1 scrapy框架 -- 安装与基本使用
  8. Atitit db access req数据库访问规范jdo jdbc jpa pdo sql 目录 1. 常见特性 1 1.1. 元数据 API 1 1.2. 分布式事务 vs事务中使用 Sav
  9. 音视频即时通讯开发功能介绍
  10. 计算机的优势和劣势_计算机专业毕业生考研还是就业应该怎么选?
  11. Sticky footer布局
  12. 滕振宇谈如何进行单元测试
  13. 20万华人的迪拜:亚洲的另一大Web3之都
  14. Android的Schema
  15. Python自动生成代码 - 通过tkinter图形化操作生成代码框架
  16. CSS中cellpadding和cellspacing的代替方法
  17. Cisco(37)——BGP的十三条选路原则演示
  18. 2t3ik、ddgs与Linux异常文件下载处理
  19. 私有专辑 java,这是什么“专辑歌手”标签iTunes使用?任何方式使用java设置?
  20. 【初篇】DHT11连接STM32、One wire单总线原理、GPIO代码详解

热门文章

  1. python中rect用法_【opencv基础】Rect类的神奇用法
  2. 梅科尔工作室--梁嘉莹-鸿蒙笔记3
  3. 【BZOJ4522】密匙破解(Pollard_rho)
  4. C#语言实例源码系列-自定义ListBox背景
  5. android 黄金颜色,金光闪闪-六款经典款黄金首饰推荐
  6. 如何在Java中使用Lambda表达式
  7. WebRTC 音视频同步分析
  8. 液晶显示器不宜使用屏幕保护程序
  9. Nodejs开发微信公众号--获取access_token
  10. 密码学常用英文单词翻译