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.
In the only line you are given two integers a, b (0 ≤ a, b ≤ 100) — the number of even and odd steps, accordingly.
In the only line print "YES", if the interval of steps described above exists, and "NO" otherwise.
2 3
YES
3 1
NO
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: 1, 3 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;
}
------from ProLights