2019_GDUT_新生专题I选集
L
题意:
给出两个整数a和b。 您可以对它们执行任意数量的操作(可能为零)。
在每个操作期间,您应该选择任何正整数x并设置a:= a-x,b:= b-2x或a:= a-2x,b:= b-x。 请注意,您可以在不同的操作中选择不同的x值。
是否可以同时使a和b等于0?
T组测试样例
题目链接:http://codeforces.com/problemset/problem/1260/B
数学题,
在两次操作取相同的x后 a,b同时减少3x。
那么只需要先进行一次操作取x为a,b的差值,把a,b化成相等的数,然后看变化之后的A,B是否大于零且为3的倍数即可。
#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
int main(){
int t;
scanf("%d",&t);
while (t--){
int a,b;
scanf("%d %d",&a,&b);
int x=a-b;
if (x>0)
{
a-=x*2;
b-=x;
}
else if (x<0)
{
a-=-x;
b-=(-x)*2;
}
if (a>=0&&b>=0&&(a%3==0)&&(b%3==0)) printf("YES\n");
else printf("NO\n");
}
return 0;
}