HDU-2089-数位dp
来源:互联网 发布:联合国数据库怎么使用 编辑:程序博客网 时间:2024/04/26 05:52
题目大意:不要62和4的数字在区间(n,m)有几个;
题目解析:数位dp模板题,dfs的时候判断前一位是否为6;
AC代码:
#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<string>using namespace std;int dp[12][2],n,m,num[12];int dfs(int pos,int sta,bool limit){if(pos==-1)return 1;if(!limit&&dp[pos][sta]!=-1)return dp[pos][sta];int u=limit?num[pos]:9;int ans=0;for(int i=0;i<=u;i++){if(i==4)continue;if(sta==1&&i==2)continue;ans+=dfs(pos-1,i==6,limit&&i==num[pos]);} if(!limit)return dp[pos][sta]=ans;return ans;} int cal(int x){int pos=0;while(x){num[pos++]=x%10;x/=10;}return dfs(pos-1,0,true);}int main(){memset(dp,-1,sizeof(dp));while(scanf("%d%d",&n,&m)!=EOF&&(n!=0&&m!=0)){printf("%d\n",cal(m)-cal(n-1));}}
0 0
- HDU 2089 数位DP
- Hdu 2089 数位dp
- HDU 2089 数位DP
- 数位DP hdu-2089
- HDU 2089 数位DP
- HDU 2089【数位DP】
- 【数位DP】 HDU 2089
- 数位DP hdu 2089
- hdu 2089 数位DP
- hdu 2089 数位dp
- hdu 2089 数位dp
- hdu 2089 数位dp
- HDU 2089 数位DP
- HDU 2089 数位DP
- hdu 2089 数位DP
- HDU-2089-数位dp
- HDU 2089 数位DP
- hdu 2089 数位dp
- note
- Swift3 通知的一般使用流程
- UITableViewCell 复用
- 当微服务撞上区块链
- java系列笔记---异常
- HDU-2089-数位dp
- spring的dubbo配置文件报错
- SQL性能优化
- express
- STL专题之map案例
- SDImage的URL坑
- 我对软件团队的工作理解
- 为什么使用HashSet储存对象时必须重写equals和hashcode方法
- 关于 java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.String