# 一道小题目

You are given two integers a and b. You may perform any number of operations on them (possibly zero).

During each operation you should choose any positive integer x and set a:=a−x, b:=b−2x or a:=a−2x, b:=b−x. Note that you may choose different values of x in different operations.

Is it possible to make a and b equal to 0 simultaneously?

Input
The first line contains one integer t (1≤t≤100) — the number of test cases.

Then the test cases follow, each test case is represented by one line containing two integers a and b for this test case (0≤a,b≤109).

Output
For each test case print the answer to it — YES if it is possible to make a and b equal to 0 simultaneously, and NO otherwise.

You may print every letter in any case you want (so, for example, the strings yEs, yes, Yes and YES will all be recognized as positive answer).

#include<iostream>
#include<algorithm>

using namespace std;

int main()
{
int t;
cin>>t;
while(t--)
{
int a,b;
cin>>a>>b;
if(a<b) swap(a,b);
if(a>2*b)
{
cout<<"NO"<<endl;
continue;
}
if((a+b)%3==0) cout<<"Yes"<<endl;
else cout<<"NO"<<endl;
}
return 0;
}


©️2019 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客