Codeforces Round #461 (Div. 2) A. Cloning Toys(水题)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ffgcc/article/details/79288506

A. Cloning Toys
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

Imp likes his plush toy a lot.

Recently, he found a machine that can clone plush toys. Imp knows that if he applies the machine to an original toy, he additionally gets one more original toy and one copy, and if he applies the machine to a copied toy, he gets two additional copies.

Initially, Imp has only one original toy. He wants to know if it is possible to use machine to get exactly x copied toys and y original toys? He can’t throw toys away, and he can’t apply the machine to a copy if he doesn’t currently have any copies.
Input

The only line contains two integers x and y (0 ≤ x, y ≤ 109) — the number of copies and the number of original toys Imp wants to get (including the initial one).
Output

Print “Yes”, if the desired configuration is possible, and “No” otherwise.

You can print each letter in arbitrary case (upper or lower).
Examples
Input

6 3

Output

Yes

Input

4 2

Output

No

Input

1000 1001

Output

Yes

Note

In the first example, Imp has to apply the machine twice to original toys and then twice to copies.

这题虽然不难,但是有很多细节需要考虑到,代码中会体现

#include <bits/stdc++.h>
#define ll long long
#define pb push_back
#define inf 0x3f3f3f3f
#define rep(i,a,b) for(int i=a;i<b;i++)
#define rep1(i,a,b) for(int i=a;i>=b;i--)
#define rson rt<<1|1,m+1,r
#define lson rt<<1,l,m
using namespace std;
const int N=1e5;
int arr[N];
int main()
{
    ios::sync_with_stdio(false);
    int x,y;
    cin>>y>>x;
    if(x==1&&y>0||x==0)
    {
        cout<<"No"<<endl;
        return 0;
    }
    int c=x-1;
    y-=c;
    if(y>=0&&y%2==0)
        cout<<"Yes"<<endl;
    else
        cout<<"No"<<endl;
    return 0;
}
展开阅读全文

没有更多推荐了,返回首页