zoukankan      html  css  js  c++  java
  • D

     1 //反向62
     2 #include <iostream>
     3 #include <algorithm>
     4 #include <string>
     5 #include <cstring>
     6 #include <cstdio>
     7 using namespace std;
     8 
     9 typedef long long ll;
    10 // const int maxn = 1e5+5;
    11 ll n;
    12 ll a[100];
    13 ll dp[100][100];
    14 
    15 //下标,前面是否4,是否有前导0, 是否有限制
    16 ll dfs(ll pos, ll sta, ll pre, ll limit){
    17     if(pos == -1) return 1;
    18     if(!limit && dp[pos][sta] != -1)
    19         return dp[pos][sta];
    20     int up = limit?a[pos]:9;
    21     ll ans = 0;
    22     for(int i = 0;i <= up;i++){
    23         if(pre == 4 && i == 9){
    24             continue;
    25         }
    26         ans += dfs(pos-1, i == 4, i, limit && i == a[pos]);
    27     }
    28     if(!limit) dp[pos][sta] = ans;
    29     return ans;
    30 }
    31 
    32 ll solve(ll x){
    33     ll pos = 0;
    34     while(x){
    35         a[pos++] = x%10;
    36         x /= 10;
    37     }
    38     return dfs(pos-1, 0, -1, true);
    39 }
    40 
    41 int main(){
    42     memset(dp, -1, sizeof dp);
    43     int t;
    44     scanf("%d", &t);
    45     while(t--){
    46         scanf("%lld", &n);
    47         ll ans = solve(n);
    48         printf("%lld
    ", n - ans + 1);
    49     }
    50     return 0;
    51 }
  • 相关阅读:
    小白的进阶之路7
    小白的进阶之路6
    小白的进阶之路5
    小白的进阶之路4
    小白的进阶之路3
    小白的进阶之路2
    小白的进阶之路1
    02CSS布局13
    02css定位12
    02css盒子模型11
  • 原文地址:https://www.cnblogs.com/ouyang_wsgwz/p/9118586.html
Copyright © 2011-2022 走看看