题目大意
有两个数a,b,有两种操作①a=a-2x,b=b-x②a=a-x,b=b-2x(x为任意大于等于0的整数),问进行若干次操作后,a,b能否全为0
解题思路
假设x=1,要使得a,b变成0,那么每次操作要将大的数减去2,小的数减去1,这样a,b才有可能同时为0.当减到两个数相等时,可以发现此时只有这两个数为3的倍数才能同时减到0
代码实现
#include <cstdio>
using namespace std;
int main()
{
int T,a,b;
scanf("%d",&T);
while (T--)
{
scanf("%d%d",&a,&b);
if (a>b)
{
int c=a;
a=b;
b=c;
}
int k=(b-a);
a=a-k;
b=b-2*k;
if (a<0 || b<0) printf("NO\n");
else if (a%3==0) printf("YES\n");
else printf("NO\n");
}
}