• 模板


    #include<bits/stdc++.h>
    using namespace std;
    #define ll long long
    
    int a[20];
    ll dp[20][MAXS1][MAXS2];
    ll dfs(int pos,int s1,int s2,bool lead,bool limit) {
        if(pos==-1) {
            return ?;
        }
        if(!limit && !lead && dp[pos][s1][s2]!=-1)
            return dp[pos][s1][s2];
        int up=limit?a[pos]:9;
        ll ans=0;
        for(int i=0; i<=up; i++) {
            int ns1=op1(s1);
            int ns2=op2(s2);
            ans+=dfs(pos-1,ns1,ns2,lead && i==0,limit && i==a[pos]);
        }
        if(!limit && !lead)
            dp[pos][s1][s2]=ans;
        return ans;
    }
    
    ll solve(ll x) {
        if(x<=0)
            return ?;
    
        int pos=0;
        while(x) {
            a[pos++]=x%10;
            x/=10;
        }
    
        return dfs(pos-1,INITS1,INITS2,true,true);
    }
    
    int main() {
        memset(dp,-1,sizeof(dp));
    
        ll le,ri;
        while(~scanf("%lld%lld",&le,&ri)) {
            printf("%lld
    ",solve(ri)-solve(le-1));
        }
    }
    
  • 相关阅读:
    四则运算
    自我介绍
    代练第七天
    代练第六天
    代练第五天
    代练第四天
    补充总结
    对软件工程课程的总结
    作业4:结对编程项目四则运算
    psp记录个人项目花费时间
  • 原文地址:https://www.cnblogs.com/Inko/p/11393887.html
Copyright © 2020-2023  润新知