• 不要62


    杭州人称那些傻乎乎粘嗒嗒的人为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


     1 #include<cstdio>
     2 #include<cstdlib>
     3 #include<cstring>
     4 #include<cmath>
     5 #include<algorithm>
     6 #include<queue>
     7 #include<stack>
     8 #include<deque>
     9 #include<map>
    10 #include<iostream>
    11 using namespace std;
    12 typedef long long  LL;
    13 const double pi=acos(-1.0);
    14 const double e=exp(1);
    15 const int N = 1000100;
    16 
    17 #define lson i << 1,l,m
    18 #define rson i << 1 | 1,m + 1,r
    19 
    20 int dp[15][15],d[15];
    21 
    22 void init()
    23 {
    24     int i,j,k;
    25     dp[0][0]=1;
    26     for(i=1; i<=9; i++)
    27         for(j=0; j<=9; j++)
    28             for(k=0; k<=9; k++)
    29                 if((j==6&&k==2)||j==4)
    30                     ;
    31                 else
    32                     dp[i][j]+=dp[i-1][k];
    33 }
    34 int solve(int n)
    35 {
    36     int ans=0;
    37     int len=0;
    38     while(n)
    39     {
    40         ++len;
    41         d[len]=n%10;
    42         n=n/10;
    43     }
    44     d[len+1]=0;
    45     d[len+2]=0;
    46     for(int i=len; i>=1; --i)
    47     {
    48         if(d[i+1]==4||(d[i+2]==6&&d[i+1]==2))
    49             break;
    50         for(int j=0; j<d[i]; j++)
    51             if(j==4||(j==2&&d[i+1]==6))
    52                 ;
    53             else
    54                 ans+=dp[i][j];
    55     }
    56     return ans;
    57 }
    58 int main()
    59 {
    60 
    61     int m,n;
    62     int a,b;
    63     init();
    64     while(scanf("%d%d",&m,&n)!=EOF)
    65     {
    66         if(m==0&&n==0)
    67             break;
    68         a=solve(n+1);
    69         b=solve(m);
    70         printf("%d
    ",solve(n+1)-solve(m));
    71     }
    72     return 0;
    73 }
    View Code


  • 相关阅读:
    google protobuf
    spawn-fcgi和libfcgi源码解读
    [Linux] 查看进程的上下文切换pidstat
    [MySQL] update语句的redo log过程
    [转载] PHP 8新特性之JIT简介
    [PHP] 新浪企邮webmail在memcache实践使用共享session
    [Go] Golang练习项目-web客服系统即时通讯websocket项目go-fly
    [PHP] php8的jit不支持32位系统WARNING: JIT not supported by host architecture
    [PHP] 源码编译安装opcache
    [PHP] 查找使用的哪个配置文件php.ini
  • 原文地址:https://www.cnblogs.com/daybreaking/p/9451063.html
Copyright © 2020-2023  润新知