hdu4278Faulty Odometer 数位dp
来源:互联网 发布:淘宝被扣48分如何重开 编辑:程序博客网 时间:2024/05/17 00:02
//一个数n为从1到n的数中每一位的数为3或者8时//跳过,如15229的下一个数为15240//问其实际的数为多少//直接数位dp就行#include<cstdio>#include<cstring>#include<iostream>#include<cmath>using namespace std ;const int maxn = 20 ;int dp[maxn] ;int bit[maxn] ;int dfs(int pos , int lim){ if(pos == 0) return 1 ; if(dp[pos]!=-1 && !lim) return dp[pos] ; int num = lim ? bit[pos] : 9 ; int ans = 0 ; for(int i = 0;i <= num;i++) if(i != 3 && i != 8) ans += dfs(pos-1 , (i==num)&&lim) ; if(!lim)dp[pos] = ans ; return ans ;}int main(){ int n ; memset(dp , -1 , sizeof(dp)) ; while(scanf("%d" , &n) && n) { int tmp = n ; int step = 0 ; while(tmp) { bit[++step] = tmp%10 ; tmp /= 10 ; } printf("%d: %d\n" , n , dfs(step , 1)-1) ; } return 0 ;}
0 0
- hdu4278Faulty Odometer 数位dp
- HDU4278Faulty Odometer(数学)
- Faulty Odometer--2012天津网络赛--数位dp
- hdu 4278 Faulty Odometer 2012 天津网络赛 数位dp
- [jzoj]3735. 【Usaco2014Open银组】里程计(odometer) (经典数位DP+详细分析)
- 数位dp
- 数位DP
- 数位DP
- 数位dp
- 数位dp
- 数位dp
- 数位DP
- 数位dp
- 数位DP
- 【数位DP】
- 数位DP
- 数位dp
- 数位dp
- Linux系统调用和ANSI C文件操作的区别
- android开发(一):环境搭建
- Android参数含义
- 成员变量和局部变量有什么区别?
- 博客第一篇
- hdu4278Faulty Odometer 数位dp
- JavaScript+Canvas 实现网页截屏
- 成员变量和局部变量有什么区别?
- [算法]快排
- C++ Primer const变量
- JAVA组件大全复选框,选项按钮,复选方框,下拉式列表的使用介绍
- c++ primer 学习笔记1_基本内置类型
- 理解多线程中的join方法
- jquery组织结构图插件 (基于jit-yc 做可拖动、自适应伸缩的orgchart)