不要62

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 34469    Accepted Submission(s): 12459

Problem Description
杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。
杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。
不吉利的数字为所有含有4或62的号码。例如:
62315 73418 88914
都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。
你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。
 
Input
输入的都是整数对n、m(0<n≤m<1000000),如果遇到都是0的整数对,则输入结束。
 
Output
对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。
 
Sample Input
1 100
0 0
 
Sample Output
80
 
Author
qianneng
 
Source
 
Recommend
lcy   |   We have carefully selected several similar problems for you:  2094 2090 2091 2093 2092
 
代码:
  1. /*
  2. 把每一位数拆开,从高位开始,在这个位置上从0到此数枚举
  3. */
  4. #include<iostream>
  5. #include<string>
  6. #include<cstdio>
  7. #include<cmath>
  8. #include<cstring>
  9. #include<algorithm>
  10. #include<vector>
  11. #include<iomanip>
  12. #include<queue>
  13. #include<stack>
  14. using namespace std;
  15. int n,m,a,b;
  16. int dp[][]; //i位置上是j
  17. void init() //找出7位数以内所有符合的数
  18. {
  19. for(int i=;i<;i++)
  20. {
  21. for(int j=;j<;j++)
  22. {
  23. if(j==) continue;
  24. for(int k=;k<;k++)
  25. {
  26. if(k==) continue;
  27. if(j==&&k==) continue;
  28. dp[i][j]+=dp[i-][k];
  29. }
  30. }
  31. }
  32. }
  33. int insum(int x)
  34. {
  35. int c[]={},cnt=,sum=;
  36. while(x) //把数拆开存入数组
  37. {
  38. c[cnt++]=x%;
  39. x/=;
  40. }
  41. for(int i=cnt-;i>;i--)
  42. {
  43. for(int j=;j<c[i];j++) //枚举第i位取值
  44. {
  45. if(j==) continue;
  46. if(j==&&c[i+]==) continue;
  47. sum+=dp[i][j];
  48. }
  49. if(c[i]==||(c[i]==&&c[i+]==)) //第i位已经不满足条件,则i位以后都不可能满足条件,结束循环
  50. break;
  51. }
  52. return sum;
  53. }
  54. int main()
  55. {
  56. while(scanf("%d%d",&n,&m))
  57. {
  58. if(n==&&m==) break;
  59. memset(dp,,sizeof(dp));
  60. dp[][]=; //初始化
  61. init();
  62. a=insum(n); //用[0,m]-[0,n)即可得到区间[n,m]
  63. b=insum(m+);
  64. printf("%d\n",b-a);
  65. }
  66. return ;
  67. }

数位DP HDU2089的更多相关文章

  1. [暑假集训--数位dp]hdu2089 不要62

    杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer).杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍, ...

  2. HDU2089 不要62[数位DP]

    不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  3. 数位dp入门 hdu2089 不要62

    数位dp入门 hdu2089 不要62 题意: 给定一个区间[n,m] (0< n ≤ m<1000000),找出不含4和'62'的数的个数 (ps:开始以为直接暴力可以..貌似可以,但是 ...

  4. [您有新的未分配科技点]数位dp:从懵X到板子(例题:HDU2089 不要62)

    数位dp主要用来处理一系列需要数数的问题,一般套路为“求[l,r]区间内满足要求的数/数位的个数” 要求五花八门……比如“不出现某个数字序列”,“某种数的出现次数”等等…… 面对这种数数题,暴力的想法 ...

  5. hdu2089 数位dp

    不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  6. hdu2089:不要62(基础数位dp)

    题意:规定一个合法的号码不能含有4或者是连续的62 给定区间[n,m] 问此区间内合法的号码的个数 分析:数位dp dp[i][j]代表 最高位为 j 的 i 位数有多少个合法的 然后按题目规则进行转 ...

  7. 【数位DP】【HDU2089】不要62

    不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  8. hdu2089(数位dp)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 题意:求区间[a,b]内不含有62或4的数的个数. 分析:数位dp,dp[pos][0]表示到第 ...

  9. hdu2089 不要62 我的第一个数位DP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 数位DP的入门题,我是根据kuangbin的博客写出来的 思路: dp[i][0],表示长度为i ...

随机推荐

  1. Action处理请求参数

    第一种 :Action 本身作为model对象,通过成员setter封装 (属性驱动 ) 第一种方式:<br> <form action="${pageContext.re ...

  2. 廖雪峰js教程笔记 2

    arguments JavaScript还有一个免费赠送的关键字arguments,它只在函数内部起作用,并且永远指向当前函数的调用者传入的所有参数.arguments类似Array但它不是一个Arr ...

  3. 《DSP using MATLAB》示例Example4.7

    ROC分三种情况:

  4. css3 -- 背景图处理

    1.多背景图片: p{ background-image:url() , url(); background-position:95% 90% , 50% 50%; background-repect ...

  5. DELPHI与C#语法比较

    1.我做了三年的.NET,也是三个月前因为项目需要转的delphi整个过渡差不多要一周到两周.正常情况两周后就能熟悉delphi.delphi可以调整开发环境的,你把他的属性和解决方案窗口调成和你用V ...

  6. 表格边框css

    table标签默认是没有边框的,但是如果我们自己加上边框boder:1px solid black;只有整个表格最外面有边框,那么如何给表格添加样式使得整个表格的tr.td都具有边框呢: <st ...

  7. 【面经】用递归方法对二叉树进行层次遍历 && 二叉树深度

    void PrintNodeAtLevel(BiTree T,int level) { // 空树或层级不合理 ) return; == level) { cout << T->da ...

  8. 后缀数组 POJ 3693 Maximum repetition substring

    题目链接 题意:给定一个字符串,求重复次数最多的连续重复子串. 分析:(论文上的分析)先穷举长度 L,然后求长度为 L 的子串最多能连续出现几次.首先连续出现 1 次是肯定可以的,所以这里只考虑至少 ...

  9. DOM基础3

    隔行变色 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF- ...

  10. 请将 php.ini 中的 short_open_tag 设置为 On,否则无法继续安装。

    安装的wamp套件,访问http://localhost/Discuz/install/index.PHP进行安装操作,提示 对不起,请将 php.ini 中的 short_open_tag 设置为 ...