Codeforces Round #394 (Div. 2) A. Dasha and Stairs 易错

来源:互联网 发布:淘宝销量信誉互刷平台 编辑:程序博客网 时间:2024/05/17 23:28

A. Dasha and Stairs
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

On her way to programming school tiger Dasha faced her first test — a huge staircase!

The steps were numbered from one to infinity. As we know, tigers are very fond of all striped things, it is possible that it has something to do with their color. So on some interval of her way she calculated two values — the number of steps with even and odd numbers.

You need to check whether there is an interval of steps from the l-th to the r-th (1 ≤ l ≤ r), for which values that Dasha has found are correct.

Input

In the only line you are given two integers ab (0 ≤ a, b ≤ 100) — the number of even and odd steps, accordingly.

Output

In the only line print "YES", if the interval of steps described above exists, and "NO" otherwise.

Examples
input
2 3
output
YES
input
3 1
output
NO
Note

In the first example one of suitable intervals is from 1 to 5. The interval contains two even steps — 2 and 4, and three odd: 13 and 5.


Source

Codeforces Round #394 (Div. 2)


My Solution

易错

对于 0 0 这组数据要进行特殊的判断,比赛的时候用这组数据hack了十几个人,

当时这个有趣的题忘了记录下来了,现在补上,^_^


#include <iostream>#include <cstdio>#include <cmath>using namespace std;typedef long long LL;const int maxn = 1e6 + 8;int main(){    #ifdef LOCAL    freopen("a.txt", "r", stdin);    //freopen("a.out", "w", stdout);    int T = 4;    while(T--){    #endif // LOCAL    ios::sync_with_stdio(false); cin.tie(0);    LL a, b;    cin >> a >> b;    if(a == 0 && b == 0) cout << "NO" << endl;    else if(abs(a - b) <= 1) cout << "YES" << endl;    else cout << "NO" << endl;    #ifdef LOCAL    cout << endl;    }    #endif // LOCAL    return 0;}



Thank you!

                                                                                                                                             ------from ProLights

0 0