zoukankan      html  css  js  c++  java
  • BZOJ 1026 windy数

    这题细节怎么如此多。。。。、

    dp[i][j]表示i位数第一位为j的windy数,然后容斥乱搞。

    注意细节!

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<cstdlib>
    using namespace std;
    long long dp[30][30],a,b;
    void make_table()
    {
    for (int i=0;i<=9;i++)
    dp[1][i]=1;
    for (int i=2;i<=12;i++)
    for (int j=0;j<=9;j++)
    for (int k=0;k<=9;k++)
    if (abs(k-j)>1)
    dp[i][j]=dp[i][j]+dp[i-1][k];
    }
    long long works(long long x)
    {
    if (x==0) return 0;
    long long regis[30],cnt=0,ans=0;
    while (x!=0)
    {
    cnt++;
    regis[cnt]=x%10;
    x=x/10;
    }
    for (int i=1;i<=cnt-1;i++)
    for (int j=1;j<=9;j++)
    ans=ans+dp[i][j];
    for (int i=1;i<=regis[cnt]-1;i++)
    ans=ans+dp[cnt][i];
    for (int i=cnt;i>=2;i--)
    {
    for (int j=0;j<=regis[i-1]-1;j++)
    if (abs(j-regis[i])>1)
    ans=ans+dp[i-1][j];
    if (abs(regis[i]-regis[i-1])<=1)
    break;
    }
    return ans;
    }
    int main()
    {
    make_table();
    scanf("%lld%lld",&a,&b);
    long long ans1=works(b+1),ans2=works(a);
    printf("%lld",ans1-ans2);
    return 0;
    }

  • 相关阅读:
    docker使用
    接口自动化python3+requests+pytest/unitest
    Django--日常操作
    Redis
    散碎
    Django-- 类视图 Mixin 扩展类
    Django--类视图
    Django--响应
    python高级--正则表达式
    python-数据类型-字符串--常用操作
  • 原文地址:https://www.cnblogs.com/ziliuziliu/p/5273333.html
Copyright © 2011-2022 走看看