克隆玩具
时间: 1ms 内存:128M
描述:
你只有一个A类型玩具,现在有个有两种功能的机器:
1. 加工一个A类型的玩具能够再得到一个A类型的玩具和一个B类型的玩具。
2. 加工一个B类型的玩具,能得到两个B类型的玩具。
问经过多次加工之后,能否恰好得到n个B类型的玩具和m个A类型的玩具(不能扔掉任何玩具哦)。
输入:
两个整数n,m(0<=n,m<=1e9)加工之后B类型玩具的数量和A类型玩具的数量。
输出:
能恰好得到n个B类型的玩具和m个A类型的玩具的话输出:Yes
不能的话输出:No
示例输入:
6 3
示例输出:
Yes
提示:
参考答案(内存最优[1120]):
#include<stdio.h>
long long A,B,a,b,flag=0;
//Problem F: 克隆玩具
/*void dfs(int x,int y){
if(x>n||y>m){
//printf("break; %d %d\n",x,y);
return ;
}
if(x==n&&y==m){
printf("YES\n");
flag=1;
}
//printf("%d %d\n",x,y);
dfs(x+1,y+1);
dfs(x,y+2);
return ;
}
*/
int main()
{
scanf("%lld %lld", &B,&A);
b=A-1;
if((B-b)%2==0&&B-b>=0&&A!=0)
printf("Yes\n");
else
printf("No\n");
return 0;
}
参考答案(时间最优[1]):
#include<iostream>
using namespace std;
int main()
{
int x,y;
cin>>x>>y;
if(y-x>1||y<1)
{
cout<<"No"<<endl;
return 0;
}
if(((x-y+1)%2==0 && y!=1)||(x==0 &&y==1))
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。