0pts求条
查看原帖
0pts求条
1437066
wangjunhe楼主2025/7/29 14:25

阳历劝过,听取蛙声一片

#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll sum,dp[15][10],a[15];
ll fun(ll x){
    if(x==0)
        return 0;
    ll c=0;
    while(x){
        a[++c]=x%10;
        x/=10;
    }
    ll r=0,l=-2;
    for(ll i=c;i>=1;i--){
        ll n=a[i];
        for(int j=(i==c);j<n;j++)
            if(abs(j-l)>=2)
                r+=dp[i][j];
        if(abs(n-l)<2)
            break;
        l=n;
        if(i==1)
            r++;
    }
    for(int i=1;i<c;i++)
        for(int j=1;j<=9;j++)
            r+=dp[i][j];
    return r;
}
int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    for(ll i=0;i<=9;i++)
        dp[1][i]=1;
    for(ll i=2;i<15;i++)
        for(ll j=0;j<=9;j++)
            for(ll k=0;k<=9;k++)
                if(abs(j-k)>=2)
                    dp[i][j]+=dp[i-1][k];
    ll a,b;
    cin>>a>>b;
    cout<<fun(b)-fun(a-1);
    return 0;
}
2025/7/29 14:25
加载中...