Description
windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道,在A和B之间,包括A和B,总共有多少个windy数?
Input
包含两个整数,A B。
Output
一个整数。
Sample Input
【输入样例一】
1 10
【输入样例二】
25 50
1 10
【输入样例二】
25 50
Sample Output
【输出样例一】
9
【输出样例二】
20
9
【输出样例二】
20
HINT
【数据规模和约定】
100%的数据,满足 1 <= A <= B <= 2000000000 。
数位Dp入门题
方程:f[i][j]+=f[i-1][k](|j-k|>=2)
但是问题就是如何快速地求1--X中的数呢?
那么换一种角度考虑:f[i][j]表示满足条件的、长度为i且首字母是j的数的个数。这样有什么好处呢?假设我们要求1--X中符合要求的数。首先设X=abcd。那么我们先加上f[4][0]、f[4][1]、f[4][2]一直到f[4][a-1],然后再加上f[3][0]、f[3][1]一直到f[3][b-1]……当然,最后是加上f[1][0]、f[1][1]一直到f[1][d]。
注意前导0问题