hdu 2089 不要62 --- 数位dp
2014-02-09 17:33
405 查看
简单题
bool six保存上一位是不是6
bool six保存上一位是不是6
#include <iostream> #include <cstring> #include <string> #include <cstdio> #include <cmath> #include <algorithm> #include <vector> #include <queue> #include <map> #define inf 0x3f3f3f3f #define ll __int64 using namespace std; int dp[15][2],num[15],n,m; int dfs(int len,bool six,bool flag) { if(len<0) return 1; if(!flag&&dp[len][six]!=-1) return dp[len][six]; int p=flag?num[len]:9; int ans=0,i; for(i=0;i<=p;i++) { if(i==4||(i==2&&six)) continue; ans+=dfs(len-1,i==6,flag&&i==p); } if(!flag) dp[len][six]=ans; return ans; } int cal(int x) { int l=0; while(x) { num[l++]=x%10; x/=10; } return dfs(l-1,0,1); } int main() { memset(dp,-1,sizeof dp); while(scanf("%d%d",&n,&m)&&(n||m)) { printf("%d\n",cal(m)-cal(n-1)); } return 0; }
相关文章推荐
- hdu 2089 不要62 【数位DP】
- HDU - 2089 不要62(数位DP入门)
- hdu 2089 不要62(数位dp入门)
- hdu 2089 不要62(数位DP)
- hdu(2089)——不要62(数位dp)
- HDU2089——不要62(数位dp入门)
- hdu_2089_不要62(数位DP)
- hdu 2089 不要62(数位dp)
- HDU 2089——不要62(数位DP)
- hdu 2089 不要62 数位dp
- hdu 2089 不要62 数位dp
- HDU 2089 数位dp 不要62
- HDU 2089 不要62 数位dp
- 不要62 HDU - 2089 [入门数位DP]
- HDU 2089 不要62——数位dp
- HDU 2089 不要62 数位dp
- HDU 2089 不要62(数位DP啊)
- HDU 2089 不要62 (数位DP)
- hdu 2089 不要62 数位dp
- HDU 2089 不要62 (数位DP)