[HDU 3555] Bomb
2016-05-11 19:45
316 查看
dp[dep][four]表示长度为dep的上一个是否为4的不含子串49的数的个数
View Code
#include<bits/stdc++.h> using namespace std; typedef long long ll; ll dp[20][2]; int dig[20]; ll dfs(int dep,int four,int flag){ if(!dep)return 1LL; if(!flag&&dp[dep][four]!=-1)return dp[dep][four]; int lim=flag?dig[dep]:9; ll ans=0; for(int i=0;i<=lim;i++){ if(four&&i==9)continue; ans+=dfs(dep-1,i==4?1:0,flag&(i==lim)); } if(!flag)dp[dep][four]=ans; return ans; } ll solve(ll x){ int dd=0; while(x)dig[++dd]=x%10,x/=10; return dfs(dd,0,1); } int main(){ memset(dp,-1,sizeof(dp)); int T; scanf("%d",&T); while(T--){ ll A; scanf("%lld",&A); printf("%lld\n",A-solve(A)+1); } return 0; }
View Code
相关文章推荐
- 算式为字符串时,进行求值
- 一起学Netty(十)之 Netty使用Google的ProtoBuf
- Android下摄像头预览数据
- 深入理解Java中的Map
- java中创建类与对象
- VS2013链接mysql出现的问题一
- 结构体和类的内存字节对齐详解
- leetcode 089 Gray Code
- 一起学Netty(九)之LengthFieldBasedFrameDecoder
- 一起学Netty(八)之 浅析ByteToMessageDecoder
- saltstack之(十一)扩展组件salt-returners
- hdu5673 卡特兰数+线性求逆元
- JDBC系列:(1)通过JDBC连接数据库
- 左旋转字符串
- EntifyFramework6.0延迟加载、动态代理实例
- 畅通工程
- 8大排序算法图文讲解
- sql插入并返回自增主键
- lower power设计中的DVFS设计
- xlistview上拉加载下拉刷新