hdu 3555数位dp基础入门题
2024-08-31 06:16:21
#include<stdio.h>
#define N 20
long long dp[N][3];
void init(){
long long i;
dp[0][0]=1;
for(i=1;i<=20;i++) {
dp[i][0]=dp[i-1][0]*10-dp[i-1][1];//没有考虑前导零的情况
dp[i][1]=dp[i-1][0];
dp[i][2]=dp[i-1][2]*10+dp[i-1][1];
}
}
long long slove(long long x) {
long long i,a[N],k,flag=0;
long long j;
k=0;
while(x) {
a[++k]=x%10;
x/=10;
}
a[k+1]=0;
j=0;
for(i=k;i>=1;i--) {
j=j+a[i]*dp[i-1][2];
if(flag)j=j+a[i]*dp[i-1][0];
else
if(a[i]>4)j=j+dp[i-1][1];
if(a[i+1]==4&&a[i]==9) flag=1;
}
return j;
}
int main() {
long long n,t;
init();
scanf("%I64d",&t);
while(t--) {
scanf("%I64d",&n);
printf("%I64d\n",slove(n+1));//必须加一,因为如果是n的话他只能枚举到n-1
}
return 0;
}
最新文章
- Redis 3.0.5 集群的命令、使用、维护
- Java SE 基础:注释
- 如何在centos上安装epel源
- java web 学习 --第三天(Java三级考试)
- Bridge模式——对象结构型模式
- Copy15G的初始容量,注册就再送5G,邀请注册的人也送5G
- web前端开发教程系列-2 - 前端开发书籍分享
- [原创]java WEB学习笔记77:Hibernate学习之路---Hibernate 版本 helloword 与 解析,.环境搭建,hibernate.cfg.xml文件及参数说明,持久化类,对象-关系映射文件.hbm.xml,Hibernate API (Configuration 类,SessionFactory 接口,Session 接口,Transaction(事务))
- Round robin
- Android开发之xUtils-HttpUtils的使用
- line-height下的dispay:inline-block垂直居中
- LeetCode OJ 226. Invert Binary Tree
- Python列表(一)
- spring boot 配置文件application
- Jrebel热部署配置完整教程(IntelliJ IDEA、Jrebel、spring boot、springboot、eclipse、Tomcat)
- Navicat如何进行搜索筛选
- 没错,老板让我写个 BUG!
- BZOJ3732Network——kruskal重构树+倍增+LCA/最小生成树+倍增
- 使用C3P0报错:java.lang.NoClassDefFoundError: com/mchange/v2/ser/Indirector
- CefSharp 封装自己的简单H5浏览器 详细配置