CF761A Dasha and Stairs 题解
Content
给定两个数 \(n,m\),试问是否有区间里面有 \(n\) 个奇数和 \(m\) 个偶数。
数据范围:\(0\leqslant n,m\leqslant 100\)。
Solution
这里我们随便选取几个区间就可以发现:\(|n-m|\leqslant 1\) 时才有可能会有题目中要求的区间,因为肯定的,一个 \([l,r]\) 的区间里面要么奇数和偶数的数量相等,要么它们的数量会差 \(1\),不可能会有相差 \(\geqslant 2\) 的情况。
但是,你以为这就做完了?
还需要一个特判!\(n=0,m=0\) 这种情况即使是 \(l=r\) 的情况下也永远不可能会出现!
Code
#include <cstdio>
#include <cmath>
using namespace std;
int main() {
int n, m;
scanf("%d%d", &n, &m);
printf(abs(n - m) <= 1 && (n || m) ? "YES" : "NO");
}

浙公网安备 33010602011771号