windy数 HYSBZ
来源:互联网 发布:互联网巨头反恐数据库 编辑:程序博客网 时间:2024/06/10 23:27
windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道,
在A和B之间,包括A和B,总共有多少个windy数?
包含两个整数,A B。
一个整数
【输入样例一】1 10【输入样例二】25 50
【输出样例一】9【输出样例二】20
【数据规模和约定】
100%的数据,满足 1 <= A <= B <= 2000000000 。
又是一道数位dp,该题需要考虑前导0的情况。dfs传值:1.pos:当前位置。2.pre:前一位的数。3.sta:前面的数是否全为0。4.limit:前面的几位数是否都达到上限。
#include"stdio.h"#include"cstdio"#include"algorithm"#include"string.h"using namespace std;int dp[15][10][2],A[15];int dfs(int pos,int pre,int lead,int limit){if(pos<0)return 1;if(dp[pos][pre][lead]!=-1&&!limit)return dp[pos][pre][lead];int end=limit?A[pos]:9;int ans=0;for(int i=0;i<=end;i++){if(lead||abs(i-pre)>=2)ans+=dfs(pos-1,i,lead&&i==0,limit&&i==end);}if(!limit)dp[pos][pre][lead]=ans;return ans;}int solve(int x){int len=0;while(x){A[len++]=x%10;x/=10;}return dfs(len-1,0,1,1);}int main(){int a,b;while(scanf("%d%d",&a,&b)!=EOF){memset(dp,-1,sizeof(dp));int ret=solve(b)-solve(a-1);printf("%d\n",ret); }}
阅读全文
0 0
- HYSBZ 1026windy数
- windy数 HYSBZ
- HYSBZ:1026 windy数(数位DP)
- HYSBZ - 1026 windy数 数位DP
- HYSBZ 1026 windy数 (数位DP)
- HYSBZ 1026 windy数 数位dp
- HYSBZ - 1026 windy数 (数位DP)
- HYSBZ 1026——windy数(数位dp)
- windy数
- windy数
- 【统计数字】【SCOI2009】windy数
- UESTC 1307 windy数
- UESTC 1307 windy数
- UESTC 1307 windy数
- 数位DP --Windy数
- uestc 1307 windy数
- uestc windy数
- [bzoj][SCOI2009]windy数
- OC copy关键字
- js开发通用的缓存SDK
- ViewPager滑动的使能设置
- 钻石继承和虚基类
- Java NIO 读取文件、写入文件、读取写入混合
- windy数 HYSBZ
- [JZOJ5251]决战
- Quartz类,库,笔记
- 机器学习算法总结--GBDT
- Java创建和解析Json数据方法(二)——org.json包的使用
- 检出的项目到了java Resources 里面
- 什么是类
- DPDK架构与特点
- 解决Java读取properties文件中文乱码的问题