BZOJ1026: [SCOI2009]windy数

2021-02-10 06:15

阅读:425

1026: [SCOI2009]windy数

Time Limit: 1 Sec Memory Limit: 162 MB
Submit: 9240 Solved: 4213
[Submit][Status][Discuss]

Description

  windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道,
在A和B之间,包括A和B,总共有多少个windy数?

Input

  包含两个整数,A B。

Output

  一个整数

Sample Input

【输入样例一】

1 10

【输入样例二】

25 50

Sample Output

【输出样例一】

9

【输出样例二】

20

HINT

【数据规模和约定】

100%的数据,满足 1

Source

题解

不难想思路。
真TMD难写啊。
具体看代码。

#include 
#include 
#include 
#include 
#include 
#include 
#include 
inline long long max(long long a, long long b){return a > b ? a : b;}
inline long long min(long long a, long long b){return a  '9') c = ch, ch = getchar();
    while(ch = '0') x = x * 10 + ch - '0', ch = getchar();
    if(c == '-') x = -x;
}
const long long INF = 0x3f3f3f3f;
long long dp[110][10], num[110];
//dp[i][j]:= 1;-- i)
    {
        for(long long j = 0;j = 2)
                re += dp[i][j];
        if(abs(num[i + 1] - num[i]) = 2)
                    dp[i][j] += dp[i - 1][k];
    long long a,b;
    read(a), read(b);
    if(a > b) swap(a, b);
    printf("%lld\n", solve(b + 1) - solve(a)); 
    return 0;
}


评论


亲,登录后才可以留言!