博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
P2657 [SCOI2009]windy数
阅读量:5291 次
发布时间:2019-06-14

本文共 1015 字,大约阅读时间需要 3 分钟。

题目描述

windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道,

在A和B之间,包括A和B,总共有多少个windy数?

输入格式

包含两个整数,A B。

输出格式

一个整数

输入输出样例

输入 #1复制
1 10
输出 #1复制
9
输入 #2复制
25 50
输出 #2复制
20

说明/提示

100%的数据,满足 1 <= A <= B <= 2000000000 。

 

 

#include
#include
#include
#include
#include
#include
using namespace std;int p,q,dp[15][15],a[15];void init(){ for(int i=0;i<=9;i++) dp[1][i]=1; for(int i=2;i<=10;i++) { for(int j=0;j<=9;j++) { for(int k=0;k<=9;k++) { if(abs(j-k)>=2) dp[i][j]+=dp[i-1][k]; } } }}int work(int x){ memset(a,0,sizeof(a)); int len=0,ans=0; while(x) { a[++len]=x%10; x/=10; } for(int i=1;i<=len-1;i++) { for(int j=1;j<=9;j++) { ans+=dp[i][j]; } } for(int i=1;i
=1;i--) { for(int j=0;j<=a[i]-1;j++) { if(abs(j-a[i+1])>=2) ans+=dp[i][j]; } if(abs(a[i+1]-a[i])<2) break; } return ans;}int main(){ init(); cin>>p>>q; cout<
<

  

转载于:https://www.cnblogs.com/xiongchongwen/p/11249482.html

你可能感兴趣的文章
20141026--娱乐-箱子
查看>>
自定义分页
查看>>
Oracle事务
查看>>
任意输入10个int类型数据,把这10个数据首先按照排序输出,挑出这些数据里面的素数...
查看>>
String类中的equals方法总结(转载)
查看>>
图片问题
查看>>
bash使用规则
查看>>
AVL数
查看>>
第二章练习
查看>>
ajax2.0
查看>>
C#时间截
查看>>
C语言程序设计II—第九周教学
查看>>
C# 获取系统时间及时间格式转换
查看>>
WCF、WebAPI、WCFREST、WebService之间的区别
查看>>
2018-2019-2-20175332-实验四《Android程序设计》实验报告
查看>>
全栈12期的崛起之捡点儿有用的说说
查看>>
基础类型
查看>>
属性动画
查看>>
标识符
查看>>
Swift 常量&变量
查看>>