题目大意:现在有两种物品,一种是原件,一种是复印件。同时你可以选择对原件或者复印件进行操作。如果你选择一件原件进行操作,那么操作之后在保留原件的前提下你还能获得一件原件和一件复制品。如果你选择对一件复制品进行操作,那么你会得到两件复制品。现在你拥有一件原件,在有限次操作后,你能否得到
x
x
件原件和件复印件。
思路:简单模拟
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll MOD = 1e9 + 7;
const ll MAXN = 1e5;
ll qpow(ll a, ll n)
{
ll res = 1;
while (n)
{
if (n & 1)res = res*a%MOD;
a = a*a%MOD;
n >>= 1;
}
return res;
}
int main()
{
ll x, y;
cin >> x >> y;
if (y == 1 && x == 0)puts("Yes");
else if (y == 1 && x != 0)puts("No");
else if (y == 0)puts("No");
else if (y > 1)
{
if (x == 0)puts("No");
else if ((x - (y - 1)) % 2 == 1 || (x - (y - 1)) < 0)puts("No");
else puts("Yes");
}
}