zoukankan      html  css  js  c++  java
  • UESTC 1307 windy数

    http://acm.uestc.edu.cn/problem.php?pid=1307

    中文题不解释。。。

     1 #include <cstdio>
     2 #include <cmath>
     3 #include <cstring>
     4 #include <algorithm>
     5 using namespace std;
     6 int dp[15][10];
     7 void init()
     8 {
     9     memset(dp,0,sizeof(dp));
    10     for(int i=0;i<10;i++)
    11     dp[1][i]=1;
    12     for(int i=2;i<12;i++)
    13     for(int j=0;j<10;j++)
    14     for(int k=0;k<10;k++){
    15         if(abs(j-k)>=2)
    16             dp[i][j]+=dp[i-1][k];
    17     }
    18     
    19 }
    20 int solve(int x)
    21 {
    22     int dig[20],ans=0,cnt=0,flag=1,tmp=x;
    23     while(x){
    24         dig[++cnt]=x%10;
    25         x/=10;
    26     }
    27     if(cnt==1)
    28     return tmp-1;
    29     dig[cnt+1]=-1;
    30     ans+=9;
    31     for(int i=cnt-1;i>1;i--)
    32         for(int j=1;j<10;j++)
    33             for(int k=0;k<10;k++)
    34                 if(abs(j-k)>=2)
    35                     ans+=dp[i-1][k];
    36     for(int i=cnt;i>0&&flag;i--){
    37         for(int j=0;j<dig[i];j++)
    38             if(abs(j-dig[i+1])>=2){
    39                 if(i==1){
    40                     ans++;
    41                     continue;
    42                 }
    43                 
    44                 for(int k=0;k<10;k++)
    45                     if(abs(j-k)>=2)
    46                         ans+=dp[i-1][k];
    47             }
    48         
    49         if(abs(dig[i]-dig[i+1])<2)
    50             flag=0;
    51     }
    52     return ans;
    53 }
    54 int main()
    55 {
    56     init();
    57     int a,b;
    58     while(~scanf("%d%d",&a,&b))
    59         printf("%d
    ",solve(b+1)-solve(a));
    60     return 0;
    61 }
    AC Code
  • 相关阅读:
    ShellExecuteEx 函数说明
    npm
    Byte和char
    如何高效阅读一个项目
    C++中慎用malloc
    #ifdef
    string
    C++与C混合编译
    git@github.com: Permission denied (publickey).
    connect to host github.com port 22: Connection refused
  • 原文地址:https://www.cnblogs.com/kim888168/p/3251322.html
Copyright © 2011-2022 走看看